home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 008a / tbscan30.zip / TBSCAN.DOC < prev    next >
Text File  |  1991-11-17  |  124KB  |  3,294 lines

  1.  
  2.  
  3.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  4.  
  5.  
  6.                                Table of Contents
  7.  
  8.     1. COPYRIGHT, LICENCES AND DISCLAIMER................ 2
  9.         1.1. Copyright................................... 2
  10.         1.2. Distribution and usage...................... 2
  11.         1.3. Disclaimer.................................. 3
  12.         1.4. Trademarks.................................. 3
  13.         1.5. Registration................................ 3
  14.         1.6. The registration key........................ 3
  15.  
  16.     2. INTRODUCTION...................................... 5
  17.         2.1. Purpose of TbScan........................... 5
  18.         2.2. A Quick start............................... 5
  19.         2.3. Historical overview......................... 5
  20.         2.4. Benefits.................................... 6
  21.             2.4.1. Speed................................. 6
  22.             2.4.2. Reliability........................... 7
  23.             2.4.3. Flexibility........................... 8
  24.             2.4.4. Smart scanning........................ 9
  25.         2.5. Limitations of scanners..................... 9
  26.         2.6. Who are we?................................ 10
  27.  
  28.     3. USAGE OF THE PROGRAM............................. 11
  29.         3.1. System requirements........................ 11
  30.         3.2. Program invokation......................... 11
  31.         3.3. While scanning............................. 12
  32.         3.4. The warning marks.......................... 13
  33.             3.4.1. R - Suspicious relocator............. 14
  34.             3.4.2. T - Invalid timestamp................ 14
  35.             3.4.3. ! - Branch out of code............... 14
  36.             3.4.4. # - Decryptor code found............. 14
  37.             3.4.5. D - Direct disk access............... 15
  38.             3.4.6. N - Wrong name extension............. 15
  39.             3.4.7. M - Memory resident code............. 15
  40.             3.4.8. ? - Inconsistent header.............. 15
  41.             3.4.9. E - Read or open error............... 16
  42.             3.4.10. J - Multiple jumps.................. 16
  43.             3.4.11. p - Packed or compressed file....... 16
  44.             3.4.12. w - Windows or OS/2 header.......... 16
  45.             3.4.13. h - Hidden or System file........... 16
  46.             3.4.14. i - Internal overlay................ 17
  47.             3.4.15. o - Odd stack pointer............... 17
  48.         3.5. Command line options....................... 17
  49.             3.5.1. -help................................ 18
  50.             3.5.2. -info................................ 18
  51.             3.5.3. -quick............................... 18
  52.             3.5.4. -more................................ 18
  53.             3.5.5. -mutant.............................. 18
  54.             3.5.6. -direct.............................. 19
  55.             3.5.7. -analyze............................. 19
  56.             3.5.8. -valid............................... 20
  57.             3.5.9. -once................................ 20
  58.  
  59.  
  60.  
  61.                                      Page i
  62.  
  63.  
  64.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  65.  
  66.  
  67.             3.5.10. -compat............................. 21
  68.             3.5.11. -nosnow............................. 21
  69.             3.5.12. -noboot............................. 21
  70.             3.5.13. -sector............................. 21
  71.             3.5.14. -nomem.............................. 21
  72.             3.5.15. -allmem............................. 21
  73.             3.5.16. -hma................................ 22
  74.             3.5.17. -nohmem............................. 22
  75.             3.5.18. -nosub.............................. 22
  76.             3.5.19. -sub................................ 22
  77.             3.5.20. -noavr.............................. 22
  78.             3.5.21. -delete or -del..................... 22
  79.             3.5.22. -rename or -ren..................... 22
  80.             3.5.23. -batch.............................. 23
  81.             3.5.24. -repeat............................. 23
  82.             3.5.25. -log................................ 23
  83.             3.5.26. -session............................ 23
  84.             3.5.27. -loginfo............................ 23
  85.             3.5.28. -logall............................. 23
  86.             3.5.29. -data............................... 24
  87.         3.6. Examples:.................................. 24
  88.         3.7. Environment variable....................... 25
  89.         3.8. The configuration file..................... 25
  90.         3.9. The TbScan.Msg file........................ 26
  91.         3.10. Residence of the signature file........... 26
  92.         3.11. Residence of the AVR modules.............. 26
  93.         3.12. Error messages............................ 27
  94.  
  95.     4. FORMAT OF THE DATA FILE.......................... 28
  96.         4.1. Format of a signature entry................ 28
  97.         4.2. Wildcards.................................. 28
  98.         4.3. Restrictions............................... 29
  99.  
  100.     5. A VIRUS, NOW WHAT?............................... 30
  101.         5.1. Prevention................................. 30
  102.         5.2. Confirmation............................... 30
  103.         5.3. Identification............................. 31
  104.         5.4. No Panic!.................................. 31
  105.         5.5. Recovering................................. 31
  106.  
  107.     6. CONSIDERATIONS AND RECOMMENDATIONS............... 33
  108.         6.1. What should be scanned?.................... 33
  109.         6.2. The internals of TbScan.................... 34
  110.             6.2.1. How is that blazingly speed achieved? 34
  111.             6.2.2. The code interpreter................. 35
  112.             6.2.3. The algorithms....................... 36
  113.                 6.2.3.1. Checking....................... 36
  114.                 6.2.3.2. Tracing........................ 36
  115.                 6.2.3.3. Analyzing...................... 37
  116.                 6.2.3.4. Browsing....................... 37
  117.                 6.2.3.5. Skipping....................... 37
  118.             6.2.4. The -compat option................... 38
  119.  
  120.  
  121.  
  122.                                     Page ii
  123.  
  124.  
  125.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  126.  
  127.  
  128.             6.2.5. Recursing through directories........ 38
  129.         6.3. How many viruses does it detect?........... 39
  130.         6.4. Testing the scanner........................ 39
  131.         6.5. Scan scheduling............................ 40
  132.         6.6. Extensions to the format of the data file.. 40
  133.         6.7. Compressed files........................... 41
  134.         6.8. Other products............................. 42
  135.  
  136.     7. MISCELLANOUS INFORMATION......................... 44
  137.         7.1. Exit codes................................. 44
  138.         7.2. Updates.................................... 44
  139.         7.3. Thanks..................................... 44
  140.  
  141.     8. OUR OTHER PRODUCTS............................... 45
  142.         8.1. TbScanX.................................... 45
  143.         8.2. TbRescue................................... 45
  144.         8.3. Thunderbyte................................ 46
  145.  
  146.     9. NAMES AND ADDRESSES.............................. 49
  147.         9.1. Contacting the author...................... 49
  148.         9.2. ESaSS...................................... 49
  149.         9.3. Thunderbyte support BBS's.................. 49
  150.         9.4. Recommended magazines and organisations.... 49
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.                                     Page iii
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.                                      Page 1
  245.  
  246.  
  247.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  248.  
  249.  
  250. 1.  COPYRIGHT, LICENCES AND DISCLAIMER
  251.  
  252.  
  253.   1.1.  Copyright
  254.  
  255.     TbScan is copyright 1988-1991 ESaSS B.V.. All rights reserved. The
  256.     diskettes provided with TbScan are not copy protected. This does not
  257.     mean that you can make unlimited copies of them. TbScan is protected
  258.     by the the copyright laws which pertain to computer software.
  259.  
  260.     No part of the printed manual accompanying TbScan may be reproduced,
  261.     transmitted, transcribed, stored in a retrieval system or translated
  262.     into any language, in any form or by any means, without the prior
  263.     written permission of ESaSS B.V..
  264.  
  265.  
  266.   1.2.  Distribution and usage
  267.  
  268.     Both TbScan and the accompanying documentation are SHARE-WARE.
  269.     You are hereby granted a license by ESaSS to distribute the
  270.     evaluation copy of TbScan and its documentation, subject to the
  271.     following conditions:
  272.  
  273.     1.   The evaluation package of TbScan may be distributed freely
  274.          without charge in evaluation form only.
  275.  
  276.     2.   The evaluation package of TbScan may not be sold, licensed, or
  277.          a fee charged for its use. If a fee is charged in connection
  278.          with TbScan, it must cover the cost of copying or dissemination
  279.          only. Such charges must be clearly identified as such by the
  280.          originating party. Under no circumstances may the purchaser be
  281.          given the impression that he is buying TbScan itself.
  282.  
  283.     3.   The evaluation package of TbScan must be presented as a
  284.          complete unit. It is not allowed to distribute the program or
  285.          the documentation separately.
  286.  
  287.     4.   Neither TbScan nor its documentation may be amended or altered
  288.          in any way.
  289.  
  290.     5.   By granting you the right to distribute the evaluation form of
  291.          TbScan, you do not become the owner of TbScan in any form.
  292.  
  293.     6.   ESaSS accepts no responsibility in case the program
  294.          malfunctions or does not function at all.
  295.  
  296.     7.   ESaSS can never be held responsible for damage, directly or
  297.          indirectly resulting from the use of TbScan.
  298.  
  299.     8.   Using TbScan means that you agree on these regulations.
  300.  
  301.     Any other use, distribution or representation of TbScan is
  302.     expressly forbidden without the written consent of ESaSS.
  303.  
  304.  
  305.                                      Page 2
  306.  
  307.  
  308.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  309.  
  310.  
  311.  
  312.  
  313.  
  314.   1.3.  Disclaimer
  315.  
  316.     Neither ESaSS B.V. nor anyone else who has been involved in the
  317.     creation, production or delivery of TbScan or this manual makes any
  318.     warranties with respect to the contents of the software or this
  319.     manual and each specifically disclaims any implied warranties of
  320.     merchantability or fitness for any purpose. ESaSS B.V. reserves the
  321.     right to revise the software and the manual and to make changes from
  322.     time to time in the contents without obligation to notify any
  323.     person.
  324.  
  325.  
  326.   1.4.  Trademarks.
  327.  
  328.     TbScan, TbScanX and Thunderbyte PC Immunizer are registered
  329.     trademarks of ESaSS B.V.. All other product names mentioned are
  330.     ackowledged to be the marks of their producing companies.
  331.  
  332.  
  333.   1.5.  Registration.
  334.  
  335.     THIS IS NOT FREE SOFTWARE! If you paid a "public domain" vendor for
  336.     this program, you paid for the service of copying the program, and
  337.     not for the program itself. Rest assured that nothing ever gets to
  338.     the originators of this product from such a sale. You may evaluate
  339.     this product, but if you make use of it, you must register your
  340.     copy.
  341.  
  342.     To register: fill in the file REGISTER.DOC and return it to us.
  343.  
  344.     We offer several inducements to you for registering. First of all,
  345.     you receive the most up-to-date copy of the program that we have
  346.     (we do update the product on a regular basis). You also receive
  347.     support for TbScan, which can be quite valuable at times. You also
  348.     receive complete printed documentation for the product. A
  349.     "do-it-yourself" update service is offered to registered users
  350.     through our own support BBS. And finally, we include an evaluation
  351.     package of some of our other software products. Make no mistake,
  352.     however -- this is a fully functional version of TbScan and not
  353.     "crippled" in any way.
  354.  
  355.     Once you registered TbScan all future upgrades are for free.
  356.  
  357.     Thunderbyte users are automatically licensed to use TbScan on the
  358.     machine where the Thunderbyte add-on card is installed.
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.                                      Page 3
  367.  
  368.  
  369.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  370.  
  371.  
  372.   1.6.  The registration key
  373.  
  374.     Registered users receive a key file named TbScan.KEY. The key file
  375.     contains some information like the license number and name of the
  376.     license holder.
  377.  
  378.     It is NOT allowed to sell or give away the key file TbScan.KEY.
  379.  
  380.     TbScan searches for the key file in the current directory. If it
  381.     does not find it it searches in the same directory as the program
  382.     file TBSCAN.EXE itself is located (only DOS 3+).
  383.  
  384.     If the key file is corrupted or invalid, TbScan continues without
  385.     error message, but in that case you are running a SHARE-WARE version
  386.     instead of the registered version. If your key is only valid for
  387.     TbScanX.COM (the memory resident version), TbScan ignores it.
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.                                      Page 4
  428.  
  429.  
  430.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  431.  
  432.  
  433. 2.  INTRODUCTION
  434.  
  435.  
  436.   2.1.  Purpose of TbScan
  437.  
  438.     TbScan is a program that was developed to trace viruses, Trojan
  439.     Horses and other threats to your valuable data. It is a so-called
  440.     virus scanner.
  441.  
  442.     A virus scanner is a program that is able to search a virus
  443.     signature that has been determined beforehand.  Most viruses
  444.     consist of a unique sequence of instructions, called a signature,
  445.     so by means of checking for the appearance of this signature in a
  446.     file we can see whether or not a program has been infected.
  447.  
  448.     By searching all your program files for the signatures of all
  449.     viruses already identified you can easily find whether your system
  450.     has been infected and, if that is the case, with which virus.
  451.  
  452.     Every PC owner should use a virus scanner frequently. It is the least
  453.     he or she can do to avoid possible damage caused by a virus.
  454.  
  455.  
  456.   2.2.  A Quick start
  457.  
  458.     Although we recommend to read this complete manual carefully, here are
  459.     already some directions how to use TbScan:
  460.  
  461.     Type "TbScan C:\". This will be sufficient for a standard scan session.
  462.     It is allowed to specify more drives: "TbScan C:\ D:\".
  463.  
  464.     The invokation syntaxis is:
  465.             TBSCAN [@][<path>][<filename>]... [<options>]...
  466.  
  467.     For fast online help type "TbScan -?" or "TbScan -help". The latter
  468.     will provide a more detailed description of the command line options.
  469.  
  470.  
  471.   2.3.  Historical overview
  472.  
  473.     Some years ago the community was confrontated with a new
  474.     phenomenon: Computer viruses. In the early days of computer viruses
  475.     people had to look into an infected file to determine whether it
  476.     has been infected by looking for a virus specific code pattern. It
  477.     doesn't take long before programmers created little programs that
  478.     were able to tell whether a specific program was infected or not.
  479.     Enhanced versions of these programs were able to search
  480.     automatically for all files. In a short time there were
  481.     dedicated scanner programs for every known virus. When the number
  482.     of viruses increases, programmers started to combine several scan
  483.     programs into one, the multi-string scanner was born.
  484.  
  485.  
  486.  
  487.  
  488.                                      Page 5
  489.  
  490.  
  491.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  492.  
  493.  
  494.     These scanners worked fine, but the amount of viruses was growing,
  495.     and the need for frequent updates increased. The number of scanning
  496.     programs also increased, and scanning programs detected the
  497.     internal search patterns (signatures) of each other thinking they
  498.     had found a virus, and a lot of people get confused by these false
  499.     alarms.
  500.  
  501.     A solution to both of these problems was to separate the search
  502.     engine and the signatures. Signatures can be distributed more
  503.     quickly and via text media, and by separating the search patterns
  504.     from the executable file, other scanners were no longer triggered
  505.     by these search patterns.
  506.  
  507.     TbScan uses a file with the name Virscan.Dat, originally created
  508.     for a program called Virscan.Exe. When Virscan.Exe was developed,
  509.     the number of viruses was still little compared with the current
  510.     situation. When the number of viruses increased, Virscan slows down
  511.     for every signature added.
  512.  
  513.     At that time we developed the Thunderbyte add-on card, an universal
  514.     anti-virus device. Since Thunderbyte recognizes virus activities
  515.     rather than signatures, it can only tell whether a system is
  516.     infected, but it will never be able to tell you the name of the
  517.     virus. To overcome this, we decided to supply a virus scanner with
  518.     our product, and we developed TbScan.
  519.  
  520.     We introduced many very sophisticated idea's in the first version
  521.     of TbScan, and today, many competitive products have adapted some
  522.     of these new idea's. Some of these idea's are: the use of wildcards
  523.     in the signature, scanning the memory of the PC, scanning only
  524.     specific parts of a file rather than the complete file, etc.
  525.  
  526.  
  527.   2.4.  Benefits
  528.  
  529.     By now already lots of virus scanners have been developed.  However
  530.     TbScan has a number of important and unique characteristics. These
  531.     are:
  532.  
  533.     2.4.1.  Speed
  534.  
  535.         Most virus scanners do not operate very fast.  This is
  536.         nevertheless very important because you are surely one of those
  537.         people who do not like to stare at their display for a quarter
  538.         of an hour. When a program works slowly it is used less often,
  539.         that is a fact.  And even the best virus scanner is worthless
  540.         when it is not used. Our goal was to create a scanner even fast
  541.         enough to be invoked from within the autoexec.bat file every
  542.         morning.
  543.  
  544.         The high speed is achived by many smart measures. For instance,
  545.         it is not required to scan a complete file to find a virus, and
  546.  
  547.  
  548.  
  549.                                      Page 6
  550.  
  551.  
  552.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  553.  
  554.  
  555.         TbScan will disassemble the file to locate the viral code. The
  556.         search routine itself is highly optimized, TbScan has an
  557.         internal scan-specific disk cacher, etc.  For more information
  558.         about the internals of TbScan read chapter 6.2.
  559.  
  560.         The speed depends on many system characteristics, so we will
  561.         not tell you how many times faster TbScan performs, but you can
  562.         easily test it by yourself. The speed of our program has been
  563.         increased with almost every new release, and the current
  564.         version is faster than every other scanner known to us. Try it
  565.         yourself!
  566.  
  567.         TbScan is designed to scan for a large amount of virus
  568.         signatures. The current version of TbScan is able to scan for
  569.         over 2500 signatures (without additional memory requirements).
  570.         Because of its design, TbScan will not slow down if the number
  571.         of signatures increases. It doesn't matter whether you scan an
  572.         item for 10 or 1000 signatures.
  573.  
  574.         TbScan carries some special routines to check a stack of
  575.         diskettes at a high speed.  You don't have to signal TbScan
  576.         via the keyboard that a diskette has been changed:  It
  577.         determines this completely automatically.
  578.  
  579.     2.4.2.  Reliability
  580.  
  581.         TbScan checks itself immediately after invokation. If it
  582.         detects that it is infected it aborts with an error. This
  583.         reduces the chance that TbScan transfers a virus to another
  584.         machine after being infected.
  585.  
  586.         TbScan can bypass viruses that are already active in memory.
  587.         This is possible through a built-in interrupt debugger!
  588.  
  589.         TbScan detects even unknown viruses, because the built-in
  590.         disassembler is able to detect suspicious instruction sequences
  591.         and abnormal program lay-outs.
  592.  
  593.         A lot of viruses are memory resident, which means they lodge
  594.         themselves in the memory of your computer. From there they can
  595.         easily influence all active programs you use. There are already
  596.         viruses that "desinfect" a program file, as soon an attempt is
  597.         made to read it. When such a virus is active, a virus scanner,
  598.         reading a program file in order to check it, finds that the
  599.         file is not infected (which is true at that moment).  But after
  600.         the program file has been read the file is immediately infected
  601.         again.  So the virus scanner reports that no virus has been
  602.         found, but in reality it is actually there.
  603.  
  604.         TbScan offers a unique solution for this problem: it contains
  605.         an automatic debugger that works its way through the chain of
  606.         interrupts "single stepping" until it reaches the DOS program
  607.  
  608.  
  609.  
  610.                                      Page 7
  611.  
  612.  
  613.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  614.  
  615.  
  616.         code. It saves the address which is then found and uses it for
  617.         the communication with DOS.  In this way most viruses will not
  618.         see anything of the operations of TbScan.
  619.  
  620.         TbScan is able to scan Upper Memory and the HMA.  Most of the
  621.         other scanners (still) don't recognize this memory.
  622.  
  623.         TbScan scans the video memory of your PC. Most anti-virus
  624.         products are not aware of the fact that it is possible to
  625.         install TSR's (and also viruses) in the unused video memory.
  626.         TbScanX (the resident version of TbScan) even has a special
  627.         mode to store the signatures in unused video memory. TbScan
  628.         scans all memory, including the video memory, just to be sure.
  629.  
  630.         TbScan is able to search a complete disk at sector level.  This
  631.         way no virus can remain undetected. Even already killed viruses
  632.         can be detected this way.
  633.  
  634.         TbScan is able to detect mutants of a virus. A mutant is a virus
  635.         that has been modified slightly and therefore does not match the
  636.         signature anymore. TbScan is able to detect such a mutant, even
  637.         if no wildcards are used in the virus signature.
  638.  
  639.     2.4.3.  Flexibility
  640.  
  641.         TbScan is fully programmable by means of a data file.
  642.  
  643.         Most of the time viruses spread quickly. After a new virus has
  644.         been found there is often no time to adapt your virus checker
  645.         in order to make it capable of recognizing this new virus.  That
  646.         is why TbScan uses a data file in which the signatures of the
  647.         viruses occur.  This file can quickly be adapted, possibly by
  648.         yourself, for example when you are informed of a new virus
  649.         through the media.  TbScan supports among other things the
  650.         format which is used in the file "Virscan.Dat".  This file is
  651.         regularly updated and can be obtained at a lot of data banks.
  652.  
  653.         TbScan supports wildcards in the signature. Many viruses are
  654.         adapted and converted to other viruses by the public. Such a
  655.         modified virus -a mutant- looks the same as the original virus,
  656.         but the part that contains the signature is often changed.
  657.         Scanners don't recognize the mutant anymore, and a new
  658.         signature must be extracted. TbScan is designed to approach
  659.         this problem different: by replacing the modified parts of the
  660.         signature by wildcards TbScan can still recognize all instances
  661.         of a virus. That implies that all mutants of for instance the
  662.         Jerusalem/Plo virus are covered by just one signature rather
  663.         than 25 as some other scanners require. This also explains why
  664.         TbScan has "only" 300 signatures but still detects all 800
  665.         viruses.
  666.  
  667.         There are viruses that are so completely encrypted that it is
  668.         no longer possible to define any signature for them, even if
  669.  
  670.  
  671.                                      Page 8
  672.  
  673.  
  674.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  675.  
  676.  
  677.  
  678.         using wildcards. The "washburn" related viruses (like 1260 and
  679.         Casper) are such viruses. The only way to detect these viruses
  680.         is by doing an algorithmic recognition. TbScan is the first
  681.         scanner that implemented the use of so called AVR (Algorithmic
  682.         Virus Recognition) modules, which contain a dedicated routine
  683.         to detect a specific virus. An AVR-module is extremely
  684.         flexible, it can perform almost any operation necessary to
  685.         detect a specific virus.
  686.  
  687.     2.4.4.  Smart scanning
  688.  
  689.         TbScan is not just a scanner, it is a disassembling scanner.
  690.         This means that TbScan not only scans the file but also
  691.         interpretes the contents and adjust the scanning algorithm to
  692.         gain the highest reliability and speed. With reliability we
  693.         not only mean a low "false negative" ratio, but also a low
  694.         "false positive" ratio. The best scanner is not a scanner that
  695.         yells "virus!" for every file, but a scanner that only yells
  696.         "virus!" if there IS really a virus in the file.
  697.  
  698.         Besides the adjustment of the scanning algorithm, TbScan also
  699.         displayes additional information about the file. It can detect
  700.         instruction sequences that are intended to write to disk
  701.         directly, to make code resident, to decrypt code, etc. TbScan
  702.         even flags files as being infected with an unknown virus if the
  703.         disassembly shows that the file contains a virus but a matching
  704.         signature can not be found. All this information is displayed
  705.         while scanning, and all in the same scan pass!
  706.  
  707.  
  708.   2.5.  Limitations of scanners
  709.  
  710.     Although TbScan is a very sophisticated scanner, it is a scanner,
  711.     and all scanners have some disadvantages in common:
  712.  
  713.     +   They cannot prevent infection.
  714.         Virus scanners can only tell you whether or not your system has
  715.         been infected and if so, whether any damage has already been
  716.         done. By then only a good (non-infected) backup can still save
  717.         you.
  718.  
  719.     +   They can only recognize viruses that have already been
  720.         identified. When a new virus has been launched it will take a
  721.         while before someone discovers it. After that it will take some
  722.         time before a reliable signature is distilled from the virus
  723.         and it will also take a while for you to get hold of the newest
  724.         Virscan.Dat.  All this means that there is a real chance that
  725.         your system is infected at a moment virus scanners have not yet
  726.         recognized "your" virus!
  727.  
  728.     +   You will have to do an active operation in order to protect
  729.  
  730.  
  731.  
  732.                                      Page 9
  733.  
  734.  
  735.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  736.  
  737.  
  738.         your system:  namely executing the virus scanner. At least once
  739.         a week one should boot from a trusted and write-protected
  740.         diskette and execute the scanner, since some viruses can
  741.         perfectly hide themselves once resident in memory. It is an
  742.         illusion that employees perform this task correctly. For
  743.         company use we recommend additional protection, like a
  744.         permanently active immunizer such as the Thunderbyte add-on
  745.         card.
  746.  
  747.  
  748.   2.6.  Who are we?
  749.  
  750.     TbScan is developed by Frans Veldman, chief executive of the
  751.     ESaSS company. ESaSS is the company that developed the well known
  752.     Thunderbyte card, the first hardware PC immunizer, and has
  753.     therefore a lot of experience and knowledge of viruses and
  754.     assembler written system software. Of course we also have a large
  755.     collection of viruses to test our products.
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.                                     Page 10
  794.  
  795.  
  796.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  797.  
  798.  
  799. 3.  USAGE OF THE PROGRAM
  800.  
  801.  
  802.   3.1.  System requirements
  803.  
  804.     TbScan runs perfectly on standard machines. "The limits are
  805.     limited".
  806.  
  807.     +   TbScan requires 188 Kb of free memory. If you use a log file
  808.         TbScan needs an additional 16 Kb of memory for the log file
  809.         buffer.  TbScan also allocates memory to keep all AVR modules
  810.         in memory.  If there is still memory left, TbScan allocates
  811.         96Kb for disk cach buffers. Note that the memory requirements
  812.         are independend from the amount of signatures. The current
  813.         memory requirements already incorporate memory to manage at
  814.         least 2500 signatures.
  815.  
  816.     +   DOS version 2.11 or later is sufficient to run TbScan. However,
  817.         Dos 3.3 or higher is recommended, since TbScan is optimized
  818.         and primary designed for use with these DOS versions.
  819.  
  820.     +   Directories may be nested up to 20 levels.
  821.  
  822.  
  823.   3.2.  Program invokation
  824.  
  825.     TbScan is easy to use. The syntaxis is as follows:
  826.             TBSCAN [@][<path>][<filename>]... [<options>]...
  827.  
  828.     Drive and path show from where should be searched. To search the
  829.     disk C:\ and disk D:\ you have to enter:
  830.  
  831.             TBSCAN C:\ D:\
  832.  
  833.     When no filename has been specified but only a drive and/or path,
  834.     then the specified path will be used as top-level path.  All its
  835.     subdirectories will be processed too.
  836.  
  837.     When a filename has been specified then only the specified path
  838.     will be searched. Subdirectories will not be processed.
  839.  
  840.     Wildcards in the filename are allowed.  It is allowed to specify
  841.     "*.*".  All executable files will be processed.  If you want the
  842.     non-executables to be processed too, then you have to specify the
  843.     "-analyze" parameter in combination with the filename.
  844.     "TBSCAN TEST.DAT" will always cause that no file will be processed:
  845.     TEST.DAT is not an executable file.  In this case you have to
  846.     specify the -analyze parameter. (Since a .DAT file is not executable
  847.     TbScan should be prevented from disassembling such a file because the
  848.     results would not be reliable. The -analyze option prevents TbScan
  849.     from disassembling the file).
  850.  
  851.  
  852.  
  853.  
  854.                                     Page 11
  855.  
  856.  
  857.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  858.  
  859.  
  860.     You can also specify a list file to TbScan. A list file is
  861.     a file that contains a list of paths/filenames to be scanned.
  862.     Preceed the file with the character '@' on the TbScan command line:
  863.             TBSCAN @TBSCAN.LST
  864.  
  865.  
  866.   3.3.  While scanning
  867.  
  868.     TbScan divides the screen in two windows: an information window and
  869.     a scanning window. The upper window is the information window and
  870.     it initially displays the comments of the data file.
  871.  
  872.     If TbScan detects infected files the names of the file and the
  873.     virus will be displayed in the upper window. The information
  874.     will stack up and scroll off the screen if it doesn't fit anymore.
  875.  
  876.     The divider line between the two windows displays the directory
  877.     containing the file being processed, the number of signatures
  878.     scanning for, and the disk cacher hit-rate.
  879.     The divider bar looks like this:
  880.  
  881.     C:\TEST\SUBDIR\                    Virus families: 348^  Cache hit 73%
  882.  
  883.     The caret (^) after the number of virus families indicates that
  884.     TbScan has linked in some AVR (Algorithmic Virus Recognition) modules.
  885.     The amount of AVR modules are added to the virus family counter.
  886.  
  887.     The cache hit indicator displayes the percentage of fat- or
  888.     directory information that has been retrieved from the cache
  889.     buffers, or with other words, the percentage of disk access saved.
  890.     Note that the cache hit only applies for the fat- and directory
  891.     sectors, the contents of files will never be cached and will not
  892.     be reflected in the cache hit indicator.
  893.  
  894.     The line directly below the dividor line is reserved for TbScan
  895.     comments. It contains the rotating "I am still alive" indicator,
  896.     and should normally display license information.
  897.  
  898.     The lower window displays the file being processed, the algorithm
  899.     in use, info- and warning characters, the progress, and finally an
  900.     OK-statement or the name of the virus detected.
  901.  
  902.     You will see one of the next five terms behind every file name:
  903.     "Checking", "Tracing", "Browsing", "Analyzing" and "Skipping". This
  904.     indicates the algorithm used to scan the file.
  905.  
  906.     Behind these terms TbScan can display some warning characters.
  907.     Consult chapter "Warnings" for individual meanings of these
  908.     characters.
  909.  
  910.     Behind these terms you will see that, dependent on size, structure
  911.     and kind of file, a number of plus signs appear. These indicate the
  912.  
  913.  
  914.  
  915.                                     Page 12
  916.  
  917.  
  918.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  919.  
  920.  
  921.     amount of code chunks that have been processed. The current version
  922.     of TbScan processes data in chunks of 32 Kb.
  923.  
  924.     The process can be aborted by pressing Ctrl-Break.
  925.  
  926.     As soon as an infected program is found, the name of the virus will
  927.     be displayed. If you did not specify one of the options -batch,
  928.     -rename or -delete, TbScan will prompt you to delete or rename the
  929.     infected file, or to continue. If you choose to rename the file,
  930.     the first character of the extension will be replaced by the
  931.     character "V". This prevents the file from being executed
  932.     accidentially until further investigation.
  933.  
  934.  
  935.   3.4.  The warning marks
  936.  
  937.     TbScan is not just a scanner. It also disassembles the file being
  938.     processed. This serves three purposes, by disassembling the file
  939.     the scanner can restrict itself to the area of the file where the
  940.     virus might reside, it makes it possible to use algorithmic
  941.     detecion on viruses that don't have a signature, and it makes it
  942.     possible to detect suspicious code sequences. If TbScan detects
  943.     suspicious instruction sequences it prints a warning mark or
  944.     message.
  945.  
  946.     Warning marks consist of a single character that might be printed
  947.     behind the name of the file being processed. There are two levels
  948.     of warnings: the informative ones are printed in a lowercase
  949.     character, and the more serious warnings are printed in an uppercase
  950.     character. The "lowercase warnings" are intended to attent special
  951.     characteristics of the file being processed, and the "uppercase
  952.     warnings" may indicate a virus. If the -info option has been
  953.     specified the important warnings will not only appear as a warning
  954.     character, but there will also be a description printed in the
  955.     upper window.
  956.  
  957.     How should you treat the warnings? The less important warnings can
  958.     be considered as "information only". They indicate nothing special
  959.     but provide you information you might be interested in. The warning
  960.     marks printed in uppercase indicate more interesting information
  961.     that MIGHT indicate a virus. It is quiet normal that you have some
  962.     files on your system which trigger an uppercase warning. In fact,
  963.     DOS 5.0 comes with at least two files that trigger a serious
  964.     warning: FORMAT.COM and SORT.EXE. TbScan detects a "suspicious
  965.     relocator" in FORMAT.COM and an "inconsistent header" in SORT.EXE.
  966.     Both warnings are complete rightly. More about that later. You
  967.     should ignore the warnings if only a few programs trigger the same
  968.     warning. But, if your system behaves "strange" and many recently
  969.     used programs cause TbScan to issue the same serious warning (or
  970.     even combinations of serious warnings), your system might be
  971.     infected by a (yet unknown) virus. Almost all viruses in our
  972.     collection cause one or more warnings to be displayed. So, don't
  973.  
  974.  
  975.  
  976.                                     Page 13
  977.  
  978.  
  979.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  980.  
  981.  
  982.     get upset if TbScan warns you about a few files on your system. But
  983.     get suspicious if many files cause the same serious warning or
  984.     combinations of serious warnings.
  985.  
  986.   3.4.1.  R - Suspicious relocator.
  987.  
  988.     The character 'R' warns for a suspicious relocator. A relocator is
  989.     a sequence of instructions that change the proportion of CS:IP. It
  990.     is often used by viruses, especially COM type infectors. Those
  991.     viruses have to relocate the CS:IP proportion because they are
  992.     compiled for a specific location in the executable file, and a
  993.     virus that infects another program can almost never use its
  994.     original location in the file (it is appended to the file). Normal
  995.     programs "know" their location in the executable file, so they
  996.     don't have to relocate themselves. On normal systems only a few
  997.     percent of the programs should cause this warning to be displayed.
  998.     Tests on a large collection of viruses shows that TbScan issues
  999.     this warning for about 65% of all viruses. The DOS FORMAT.COM
  1000.     program causes this warning to be displayed too. This is rightly,
  1001.     because Microsoft did some strange things with this program. It
  1002.     appears that the file was originally a .EXE file which has been
  1003.     converted into a .COM file by adding a sort of shell. (What is
  1004.     actually the difference between infecting a file and converting it
  1005.     this way?) Anyway, you should ignore this warning for the DOS
  1006.     FORMAT program.  TbScan uses the "analyze" or "browse" algorithm on
  1007.     programs which contain a suspicious relocator. Just for sure!
  1008.  
  1009.   3.4.2.  T - Invalid timestamp.
  1010.  
  1011.     The timestamp of the program is invalid. The seconds of the
  1012.     timestamp are illegal, or the date is illegal or later than the
  1013.     year 2000. This is suspicious because many viruses set the
  1014.     timestamp to an illegal value (like 62 seconds) to mark that they
  1015.     already infected the file, preventing themselves to infect a file
  1016.     for a second time. It is possible that the program being checked is
  1017.     contaminated with a virus that is still unknown, especially if many
  1018.     files on your system have an invalid timestamp.  If only a very few
  1019.     programs have an invalid timestamp you'd better correct it and scan
  1020.     frequently to check that the timestamp of the files remain
  1021.     correctly.
  1022.  
  1023.   3.4.3.  ! - Branch out of code.
  1024.  
  1025.     The program has an entry point that is located outside the file's
  1026.     body, or a chain of "jumps" traced to a location outside the
  1027.     program file. The program being checked is probably damaged, and
  1028.     can not be executed. Anyway, TbScan does not take any risk and uses
  1029.     the analyze or browse method to scan the file.
  1030.  
  1031.   3.4.4.  # - Decryptor code found.
  1032.  
  1033.     The file possibly contains a self-decryption routine. Some
  1034.  
  1035.  
  1036.  
  1037.                                     Page 14
  1038.  
  1039.  
  1040.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1041.  
  1042.  
  1043.     copy-protected software is encrypted so this warning may appear
  1044.     for some of your files. But if this warning appears a lot, or in
  1045.     combination with by example the T-warning, there could be a virus
  1046.     involved! Many viruses encrypt themself and cause this warning to
  1047.     be displayed.
  1048.  
  1049.   3.4.5.  D - Direct disk access.
  1050.  
  1051.     This warning is displayed if the program being processed has
  1052.     instructions near the entry-point to write to a disk directly. It
  1053.     is normal that some disk related utilities cause this warning to be
  1054.     displayed (like Undelete.Exe). As usual, if many of your files
  1055.     (which have nothing to do with the disk) cause this warning to be
  1056.     displayed your system might be infected by an unknown virus.
  1057.  
  1058.     Note that a program that accesses the disk directly should not
  1059.     always be reported with the D-indicator. Only when the direct disk
  1060.     instructions are near the program entry point it will be reported.
  1061.     In case of a virus the offending instructions are always near the
  1062.     entry point and so they will always be reported.
  1063.  
  1064.   3.4.6.  N - Wrong name extension.
  1065.  
  1066.     Name conflict. The program carries the extension .EXE but appears
  1067.     to be an ordinary .COM file, or it has the extension .COM but the
  1068.     internal layout of an .EXE file. TbScan does not take any risk in
  1069.     this situation, but scans the file for both EXE and COM type
  1070.     signatures.
  1071.  
  1072.   3.4.7.  M - Memory resident code.
  1073.  
  1074.     TbScan has found instruction sequences which could make the program
  1075.     to remain resident in memory or to hook into important interrupts.
  1076.     Almost all TSR (Terminate and Stay Resident) programs will trigger
  1077.     this warning, because hooking into interrupts or remaining
  1078.     resident belong to their normal behaviour. However if a lot of
  1079.     normal programs (not intended to be a TSR) have this warning mark
  1080.     it is suspicious. It is possible that the files are infected by a
  1081.     virus that remains resident in memory. Note that this warning does
  1082.     not appear for all TSR-programs, nor does it always mean that when
  1083.     this warning appears the program is a TSR program.  With other
  1084.     words, the TSR detection is not 100% proof.
  1085.  
  1086.   3.4.8.  ? - Inconsistent header.
  1087.  
  1088.     The program being processed has an exe-header that does not reflect
  1089.     the actual program layout. The DOS SORT.EXE program will cause this
  1090.     warning to be displayed, because the actual size of the program
  1091.     file is less than reported in the "size-of-load-module" field in
  1092.     the exe-header! Many viruses do not update the exe-header of an EXE
  1093.     file correctly after they have infected the file, so if this
  1094.     warning appears a lot it seems you have a problem. You should
  1095.  
  1096.  
  1097.  
  1098.                                     Page 15
  1099.  
  1100.  
  1101.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1102.  
  1103.  
  1104.     ignore this warning for the DOS SORT.EXE program. (Hopefully will
  1105.     MicroSoft correct the problem before the next release of DOS).
  1106.  
  1107.   3.4.9.  E - Read or open error.
  1108.  
  1109.     The file could not be opened or read. This can be the result of an
  1110.     error on the disk(ette), but the file could also be in use by
  1111.     another task (multitasking) or network user. The file has not been
  1112.     scanned.
  1113.  
  1114.   3.4.10.  J - Multiple jumps.
  1115.  
  1116.     The program did not start at the program entry point, but the code
  1117.     has jumped at least two times before reaching the final startup
  1118.     code. This is rather strange for normal programs. If many files
  1119.     cause this warning to be displayed you should investigate your
  1120.     system thorougly.
  1121.  
  1122.   3.4.11.  p - Packed or compressed file.
  1123.  
  1124.     The program is packed or compressed. There are some utilities that
  1125.     are able to compress a program file, like EXEPACK or PKLITE. If the
  1126.     file is infected after the file has been compressed, TbScan will
  1127.     be able to detect the virus. However, if the file has been infected
  1128.     before it was compressed, the virus is also compressed, and a virus
  1129.     scanner might not be able to recognize the virus anymore.
  1130.     Fortunately, this does not happen a lot, but you are warned! A new
  1131.     program might look clean, but can turn out to be the carrier of a
  1132.     compressed virus. Other files on your system will be infected in
  1133.     that case, but these infections will be normally visible for virus
  1134.     scanners.
  1135.  
  1136.     By the way, TbScan does not recognize specific compression
  1137.     utilities, but uses an universal way to detect any compression
  1138.     program. Probably TbScan does not require any modifications as soon
  1139.     as a new compression program pops up.
  1140.  
  1141.   3.4.12.  w - Windows or OS/2 header.
  1142.  
  1143.     The program can be or is intended to be used with Windows (or OS/2).
  1144.     TbScan does nothing special with these files, but that might be
  1145.     changed in the future as soon as Windows or OS/2 specific virusses
  1146.     occur.
  1147.  
  1148.   3.4.13.  h - Hidden or System file.
  1149.  
  1150.     The file has the "Hidden" or the "System" file attribute set.  This
  1151.     means that the file is not visible at a normal directory display
  1152.     but will be scanned anyway. if you don't know the source and
  1153.     purpose of this file it might be a Trojan or "joke" program. Copy
  1154.     it on a diskette, remove it from your hard disk and check if some
  1155.     program is missing the file. If no program is missing it, well, you
  1156.  
  1157.  
  1158.  
  1159.                                     Page 16
  1160.  
  1161.  
  1162.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1163.  
  1164.  
  1165.     have freed some diskspace, and maybe your system saved for a
  1166.     future disaster.
  1167.  
  1168.   3.4.14.  i - Internal overlay.
  1169.  
  1170.     The program being processed has additional data or code behind the
  1171.     load-module as specified in the exe-header of the file. The
  1172.     program might have internal overlay(s) or configuration information
  1173.     appended behind the load-module of the EXE file.
  1174.  
  1175.   3.4.15.  o - Odd stack pointer.
  1176.  
  1177.     The EXE file being processed has an odd (instead of even) stack
  1178.     offset. This can cause "exception errors" on 80386+ based systems,
  1179.     and performance decrease on 80286+ machines. If you find such a
  1180.     file on your system you'd better correct the problem using
  1181.     "exemod" to decrease the stack offset with 1, or by manually
  1182.     decreasing the value on offset 10 hex of the file by 1. Some
  1183.     viruses also set the stack offset of a file to an odd value. It is
  1184.     not sure whether this is a bug or a "feature".
  1185.  
  1186.  
  1187.   3.5.  Command line options
  1188.  
  1189.     It is possible to specify so-called options on the command line.
  1190.     Tbscan recognizes option-characters and option-words. The words are
  1191.     more easy to remember, and they will be used in this manual for
  1192.     convenience.
  1193.  
  1194.     -help,    -h  =help (-? = short help)
  1195.     -info,    -i  =display disassembly information
  1196.     -quick,   -q  =quick scan
  1197.     -more,    -m  =enable "More" prompt
  1198.     -mutant,  -y  =enable fuzzy search
  1199.     -direct,  -d  =direct calls into DOS/BIOS
  1200.     -analyze, -a  =force analyze/all files
  1201.     -valid,   -u  =force authorization
  1202.     -once,    -o  =only once a day
  1203.     -compat,  -c  =compatibility mode
  1204.     -nosnow,  -t  =fast CGA output
  1205.     -noboot,  -s  =skip bootsector
  1206.     -sector,  +s  =scan all disk sectors
  1207.     -nomem,   -r  =don't scan memory
  1208.     -allmem,  +r  =scan for all viruses in memory
  1209.     -hma,     +e  =scan HMA too
  1210.     -nohmem,  -e  =don't scan UMB/HMA
  1211.     -nosub,   -n  =don't scan in sub directories
  1212.     -sub,     +n  =process sub directories
  1213.     -noavr,   -j  =do not search for AVR modules
  1214.     -del[ete] -z  =delete infected files
  1215.     -batch,   -b  =don't ask keyboard input
  1216.     -repeat,  -x  =scan multiple diskettes
  1217.  
  1218.  
  1219.  
  1220.                                     Page 17
  1221.  
  1222.  
  1223.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1224.  
  1225.  
  1226.     -loginfo, -w  =log files with a lowercase warning too
  1227.     -logall,  +w  =log all files unconditionally
  1228.     -log      [<filename>],  +l [<filename>]  =append to log file
  1229.     -session  [<filename>],  -l [<filename>]  =create session log file
  1230.     -data     <filename>     -f <filename>    =data file to be used
  1231.     -ren[ame] [<ext mask>],  +z [<ext mask>]  =rename infected files
  1232.  
  1233.    3.5.1.  -help
  1234.  
  1235.     If you specify this option TbScan displays the contents of the of
  1236.     the TbScan.HLP file if it is available in the home directory of
  1237.     TbScan. If you specify the -? option you will get the option
  1238.     summary as listed above.
  1239.  
  1240.    3.5.2.  -info
  1241.  
  1242.     If you are an experienced user we recommend you to use this option.
  1243.     If you do so, TbScan will display the most important warnings
  1244.     with the complete pathname of the concerned file in the upper
  1245.     window.
  1246.  
  1247.    3.5.3.  -quick
  1248.  
  1249.     This option enables you to quickly scan the system. It is intended
  1250.     to be used in the "afternoon scan" of the system. It is recommended
  1251.     to invoke TbScan once a day without this option because this option
  1252.     does not offer you the highest security. .OVL, .BIN and .SYS files
  1253.     are skipped entirely since it is not likely that these files are
  1254.     infected, memory scan is skipped, the scan frame is reduced to
  1255.     2Kb instead of 4Kb, and TbScan does not fall back to the analyze
  1256.     routine as often as usual. However, TbScan still detects 95% of the
  1257.     viruses if this option is specified.
  1258.  
  1259.    3.5.4.  -more
  1260.  
  1261.     When you enter the parameter -more TbScan will stop after it has
  1262.     checked the contents of one window.  This gives you the
  1263.     possibility to examine the results without using a log file.
  1264.  
  1265.    3.5.5.  -mutant
  1266.  
  1267.     TbScan is able to detect mutants of viruses while performing a
  1268.     normal (default) scan, since many of the signatures contain
  1269.     wildcards. However, if you use the -mutant option TbScan does not
  1270.     restrict itself to the wildcard specification, but allows up to two
  1271.     extra changes anywhere in the signature. Needless to say, if you
  1272.     use this option false alarms may occur. Therefore this option is
  1273.     not recommended to be used in a normal scan session. However, you
  1274.     can use this option if you expect the system is infected but TbScan
  1275.     does not detect a virus. If you scan again and specify the -mutant
  1276.     option, and TbScan now reports many files to be "possibly infected"
  1277.     with one virus, it might be possible that the files are infected by
  1278.  
  1279.  
  1280.  
  1281.                                     Page 18
  1282.  
  1283.  
  1284.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1285.  
  1286.  
  1287.     an unknown variant of the virus. It is recommended to supply one
  1288.     such a possibly infected file to a virus expert before invoking a
  1289.     clean up operation.
  1290.  
  1291.    3.5.6.  -direct
  1292.  
  1293.     TbScan communicates with DOS through interrupt 21h. To prevent this
  1294.     from being "monitored" by viruses, option -direct can be entered.
  1295.     TbScan will use its built-in debugger to trace through the
  1296.     chain of interrupts until it has reached the DOS entry point.  This
  1297.     address is shown on the display and after that moment it will be
  1298.     used for the communication with DOS.  The same applies to the
  1299.     communications with the disk system:  TbScan first searches for the
  1300.     entry point of the BIOS, and performs direct calls into it.
  1301.     Resident programs, such as viruses, are then excluded from taking
  1302.     part in the virus scan process.
  1303.  
  1304.     This implies however that the regular resident programs remain
  1305.     ignorant too with regard to the file access by TbScan.  That is why
  1306.     it is not recommended to use this option when you use a multitasker
  1307.     or when you are connected to a local area network.
  1308.  
  1309.     Also note that many protection software packages will be fooled by
  1310.     TbScan when using the -direct option.  Don't be surprised when
  1311.     TbScan scans files you don't actually have any access to...
  1312.  
  1313.     When you use this option do not popup resident programs while
  1314.     TbScan is active!  This is because resident programs do not know
  1315.     that some foreground program performs file access and a machine
  1316.     hang might occur.
  1317.  
  1318.     When you have installed the Thunderbyte card in your PC, TbScan
  1319.     will not search for the DOS entry point, but for the entry point of
  1320.     Thunderbyte.  Otherwise Thunderbyte should warn you (correctly)
  1321.     that a program performs direct calls into DOS and the BIOS.  So
  1322.     only Thunderbyte remains between TbScan and DOS/BIOS. Since no
  1323.     viruses can be inserted between Thunderbyte and DOS/BIOS, this is
  1324.     completely safe.
  1325.  
  1326.    3.5.7.  -analyze
  1327.  
  1328.     Normally TbScan only uses the analysis method when the program to
  1329.     be checked is too complicated for the builtin interpreter.  But
  1330.     through option -analyze you can force TbScan to use the analysis
  1331.     or browse method always. Keep in mind though that the program will
  1332.     perform more slowly and that false alarms may occur. Therefore it
  1333.     is recommended to refrain from this option while performing a
  1334.     normal scan session. Since this option also disables the internal
  1335.     disassembler of TbScan, most warning marks will not occur, and
  1336.     the AVR modules will not be executed.
  1337.  
  1338.     The -analyze option can not be used if the -mutant option has been
  1339.  
  1340.  
  1341.  
  1342.                                     Page 19
  1343.  
  1344.  
  1345.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1346.  
  1347.  
  1348.     specified too. It would cause too many false alarms. If you expect
  1349.     a virus and TbScan does not find a virus, you'd better use the
  1350.     -mutant option rather than -analyze. The -analyze option does
  1351.     not increase the hit rate like the -mutant option.
  1352.  
  1353.     If you have the odd feeling that you have to increase the hit rate
  1354.     of TbScan you'd better use the -mutant option rather than the
  1355.     -analyze option.  The -mutant option already detected some new
  1356.     unknown viruses, while the -analyze option did not and caused only
  1357.     false alarms.
  1358.  
  1359.     Without this option TbScan processes only executable files, even if
  1360.     a (wildcarded) filename has been specified. However, if you want to
  1361.     scan non-executable files you have to use the -analyze option.
  1362.     TbScan can only scan non-executable files if the -analyze option
  1363.     has been specified because non-executable files can not be
  1364.     disassembled. Since there are no specific signatures for
  1365.     non-executable files TbScan scans for all signatures in all files
  1366.     just to be able to find anything at all.
  1367.  
  1368.     So, if you use the -analyze option in combination with an explicite
  1369.     filename specification, TbScan scans ALL matching files for ALL
  1370.     signatures. Needless to say that this combination is NOT
  1371.     recommended due to its low performance and exessive amount of
  1372.     false alarms.  It is only provided to gain some compatibility with
  1373.     other scanners.
  1374.  
  1375.    3.5.8.  -valid
  1376.  
  1377.     TbScan checks the signature file for modifications.  If you change
  1378.     the contents of that file TbScan will issue a warning.  If you
  1379.     don't want the warning to be displayed, use the -valid option.
  1380.  
  1381.    3.5.9.  -once
  1382.  
  1383.     If you specify this option TbScan "remembers" that is has been used
  1384.     that day, and it will not run anymore a next time on that day if
  1385.     you specify this option again. This option is very powerfull if you
  1386.     use it in your autoexec.bat file in combination with a list file
  1387.     like:
  1388.  
  1389.                 TbScan @everydayt -once -rename
  1390.  
  1391.     TbScan now scans every day the first time being invoked the list of
  1392.     files and/or paths specified in the file "everydayt". All other
  1393.     times the machine will boot that day, TbScan will return to DOS
  1394.     immediately. This option does not interfere with the normal use of
  1395.     TbScan:  If you invoke TbScan without the -once option it will
  1396.     always run, regardless of a previous invokation with the -once
  1397.     option.  The opposite is also true: if you use the option -once
  1398.     after TbScan has been executed before that day without the -once
  1399.     option, TbScan will still execute.
  1400.  
  1401.  
  1402.  
  1403.                                     Page 20
  1404.  
  1405.  
  1406.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1407.  
  1408.  
  1409.     Note that if TbScan can not write to TbScan.Exe because it is
  1410.     read-only or located on a write protected diskette, the -once option
  1411.     will fail and start the scanner always.
  1412.  
  1413.    3.5.10.  -compat
  1414.  
  1415.     If you specify this option, TbScan tries to behave somewhat more
  1416.     compatible. Use this option if the program does not behave as
  1417.     expected or hangs the machine. This option will slow down the scan
  1418.     process so it should only be used when necessary. Note that this
  1419.     option does not affect the results of a scan.
  1420.  
  1421.    3.5.11.  -nosnow
  1422.  
  1423.     If you use TbScan on a machine with a CGA video system TbScan
  1424.     avoids the occurence of snow on the sceen. This slows down the scan
  1425.     process slightly and causes the display to flicker. If your CGA
  1426.     system does not require special operations to avoid snow you can
  1427.     specify the -nosnow option, resulting in a flicker-free screen and
  1428.     an increased scan speed. On machines with a MDA, Hercules, EGA or
  1429.     VGA video system this option has no effect.
  1430.  
  1431.    3.5.12.  -noboot
  1432.  
  1433.     If you specify this option TbScan will not scan the bootsector.
  1434.  
  1435.    3.5.13.  -sector
  1436.  
  1437.     This option is experimental.  This option enables the feature to
  1438.     scan a disk at sector level.  This way you can trace viruses that
  1439.     reside outside the files and bootsector and difficult stealth
  1440.     viruses. This option might also tell you that a virus ever
  1441.     resided on the machine in the past.  If this option detects a
  1442.     signature it does not mean that the virus should be still active.
  1443.     Even if TbScan deleted the virus this option is still able to
  1444.     detect the signature for a while.  This option is NOT recommended
  1445.     for a normal search.
  1446.  
  1447.    3.5.14.  -nomem
  1448.  
  1449.     If you specify this option TbScan will not scan the memory of the
  1450.     PC for viruses.
  1451.  
  1452.    3.5.15.  -allmem
  1453.  
  1454.     If you specify this option TbScan will search for all viruses of
  1455.     the signature file in the memory of your PC, regardless of the
  1456.     virus type. This option is not recommended since many viruses have
  1457.     a different signature after they install themself in memory and a
  1458.     scan for non-memory specific viruses in memory makes no sense at
  1459.     all. It may cause a lot of false alarms. It is provided to maintain
  1460.     some compatibility with other scanners.
  1461.  
  1462.  
  1463.  
  1464.                                     Page 21
  1465.  
  1466.  
  1467.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1468.  
  1469.  
  1470.    3.5.16.  -hma
  1471.  
  1472.     TbScan detects the presence of a XMS-driver, and scans the HMA
  1473.     automatically. If you have a HMA-drive not compatible with the
  1474.     XMS standard you can use the -hma option to force TbScan to scan
  1475.     the HMA.
  1476.  
  1477.    3.5.17.  -nohmem
  1478.  
  1479.     By default TbScan searches for RAM above the DOS limit and scans
  1480.     that too. This means that even video memory and the current EMS
  1481.     pages are scanned. You can use the -nohmem option to disable the
  1482.     scanning of memory above the DOS limit.
  1483.  
  1484.    3.5.18.  -nosub
  1485.  
  1486.     TbScan will default search in subdirectories for executable files,
  1487.     except when a filename (or wildcards) are specified.  If you use
  1488.     this option TbScan will never search in subdirectories.
  1489.  
  1490.    3.5.19.  -sub
  1491.  
  1492.     If you use this option TbScan will always search in subdirectories,
  1493.     even when you specify a filename or wildcards.  Only subdirectories
  1494.     matching the filename mask will be scanned too.
  1495.  
  1496.    3.5.20.  -noavr
  1497.  
  1498.     If you specify this option TbScan will not search for AVR modules
  1499.     (Algorithmic Virus Recognition modules; .AVR files) at startup and
  1500.     will not perform any algorithmic searches on files.
  1501.  
  1502.    3.5.21.  -delete or -del
  1503.  
  1504.     If TbScan detects a virus in a file it prompts the user to delete
  1505.     or rename the infected file, or to continue.  If you specify the
  1506.     -delete option, TbScan will not ask the user what to do but it just
  1507.     deletes the infected file.  Use this option only if you already
  1508.     found out that your system is infected, and if you have a trusted
  1509.     backup, and wants to get rid of all infected files at once.
  1510.  
  1511.    3.5.22.  -rename or -ren
  1512.  
  1513.     If TbScan detects a file virus it prompts the user to delete
  1514.     or rename the infected file, or to continue.  If you specify the
  1515.     -rename option, TbScan will not ask the user what to do but it just
  1516.     renames the infected file. By default, the first character of the
  1517.     file's extension will be replace by the character "V". A .EXE file
  1518.     will be renamed to .VXE, and a .COM file to .VOM. This prevents the
  1519.     infected programs from being executed, but the program can still be
  1520.     examined or repaired at a later time. You can also add a parameter
  1521.     to this option specifying the target extension.  The parameter
  1522.  
  1523.  
  1524.  
  1525.                                     Page 22
  1526.  
  1527.  
  1528.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1529.  
  1530.  
  1531.     should always contain 3 characters, question marks are allowed. The
  1532.     default target extension is "V??".
  1533.  
  1534.    3.5.23.  -batch
  1535.  
  1536.     If TbScan detects a file virus it prompts the user to delete or
  1537.     rename the infected file, or to continue. If you specify the -batch
  1538.     option TbScan will always continue. This option is intended to be
  1539.     used in a batch file that would be executed unattended. It is
  1540.     highly recommended to use a log file in this situation, otherwise
  1541.     the scanning does not make very much sense.
  1542.  
  1543.    3.5.24.  -repeat
  1544.  
  1545.     The option is very powerfull if you want to check a large amount of
  1546.     diskettes. TbScan does not return to DOS after checking a disk, but
  1547.     it waits until you inserted another disk in the drive. You don't
  1548.     have to press a key on the keyboard when ready, TbScan detects
  1549.     automatically when the drive is ready to be accessed. This way you
  1550.     can check a large amount of diskettes without touching the
  1551.     keyboard. One thing you will notice however is that the motor of
  1552.     the disk drive keeps spinning, and the light keeps burning.  This
  1553.     does not harm your drive in any way, you can safely open and close
  1554.     the drive-door while the motor still runs. Many backup programs
  1555.     handle the drives the same way as TbScan does.
  1556.  
  1557.    3.5.25.  -log
  1558.  
  1559.     When you use this parameter, TbScan creates a LOG-file.  The
  1560.     default filename is TBSCAN.LOG and it will be created in the current
  1561.     directory.  You may optionally specify a path and filename.  In the
  1562.     LOG-file all infected program files are listed.  The filenames are
  1563.     specified including the complete path name. If the log file already
  1564.     exists the information will not be overwritten but instead appended
  1565.     to the file. If you use this option often it is recommended to
  1566.     delete or truncate the log file every month to avoid unlimited
  1567.     growth.
  1568.  
  1569.    3.5.26.  -session
  1570.  
  1571.     This option is the same as the -log option, except that if there
  1572.     already exists a log file the log information will be overwritten
  1573.     instead of appended. A log file created by the -session option only
  1574.     contains information of a single scanning session.
  1575.  
  1576.    3.5.27.  -loginfo
  1577.  
  1578.     If you use a log file and wants to log files with lowercase
  1579.     (informative) warnings too you should specify this option.
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.                                     Page 23
  1587.  
  1588.  
  1589.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1590.  
  1591.  
  1592.    3.5.28.  -logall
  1593.  
  1594.     If you use a log file and wants to get all files listed in the log
  1595.     file unconditionally you can use this option.
  1596.  
  1597.    3.5.29.  -data
  1598.  
  1599.     You can override the default path en name of the signature file by
  1600.     using this option.
  1601.  
  1602.     TbScan normally tries to locate a data file by itself. See chapter
  1603.     3.9 for information how TbScan searches for a data file.
  1604.  
  1605.     If TbScan does not succeed in recognizing or locating the
  1606.     appropriate data file by default, or you want to override the
  1607.     default data search, you should use the -data option.
  1608.  
  1609.  
  1610.   3.6.  Examples:
  1611.  
  1612.         TbScan \ -data c:\TbScan.Dat -noboot
  1613.             Process all executable files in the root directory and its
  1614.             sub directories.  Skip the bootsector scan.  Use the
  1615.             signature file "c:\TbScan.Dat".
  1616.  
  1617.         TbScan \*.*
  1618.             Process all executable files in the root directory. Don't
  1619.             process sub directories.
  1620.  
  1621.         TbScan Test.Dat -log c:\test.log
  1622.             No file will be processed. TEST.DAT is not an executable.  A
  1623.             LOG file with the name c:\test.log will be created.
  1624.  
  1625.         TbScan Test.Dat Test.Tmp -analyze
  1626.             Search Test.Dat and testp for ALL viruses using the
  1627.             analyze method.
  1628.  
  1629.         TbScan c:\ -analyze -rename vi?
  1630.             Process all executable files in the root directory and
  1631.             its sub directories.  Use the analysis method.  Rename
  1632.             infected files to a file by replacing the first two
  1633.             characters of the extension by "VI". The last character
  1634.             remains the same.
  1635.  
  1636.         TbScan c:\*.* -analyze
  1637.             Process ALL files in the root directory. Search for ALL
  1638.             viruses in ALL files.  The analysis-method will be used. Sub
  1639.             directories will not be processed.
  1640.  
  1641.  
  1642.     The last two examples shows the difference in behaviour of the
  1643.     -analyze parameter when a filename and when no filename has been
  1644.     specified.
  1645.  
  1646.  
  1647.                                     Page 24
  1648.  
  1649.  
  1650.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1651.  
  1652.  
  1653.   3.7.  Environment variable
  1654.  
  1655.     If you want to use certain options always, it can be handy to use
  1656.     the environment variable "TBSCAN" for this.  For instance, if you
  1657.     always use the option -noboot and always specifies the signature
  1658.     file to be used, you can insert the following line into your
  1659.     autoexec.bat file:
  1660.  
  1661.                 SET TBSCAN=-LOG -DATA C:\TBSCAN.DAT -NOBOOT
  1662.  
  1663.     TbScan now always acts like you specified the -noboot and -log
  1664.     option on the command line!
  1665.  
  1666.     Another good item to include in the environment variable is the
  1667.     option -data, to specify which data file shood be used by default.
  1668.  
  1669.  
  1670.   3.8.  The configuration file
  1671.  
  1672.     For people that like the use of configuration files: TbScan can
  1673.     be configured with a configuration file. The configuration file
  1674.     should be in the same directory as the file TbScan.Exe, and the
  1675.     name of the configuration file should be TBS.BAT (surprise,
  1676.     surprise). The format of this configuration file is as follows:
  1677.  
  1678.       tbscan %1 %2 %3 %4 %5 %6 %7 %8 %9 [<default options...>]
  1679.  
  1680.     Example:
  1681.  
  1682.       tbscan %1 %2 %3 %4 %5 %6 %7 %8 %9 -direct -file c:\virus\Virscan.Dat
  1683.  
  1684.     To use this configuration file you have to type "TBS C:\" on the DOS
  1685.     prompt. If you want to override the default options specified in
  1686.     the TBS.BAT file just type "TBSCAN".
  1687.  
  1688.     This configuration file is very powerfull. You can even define
  1689.     mnemonics like "DAILY" and "WEEKLY" to invoke a predefined scan session.
  1690.     However, it is still possible to specify additional options on the
  1691.     command line. If TbScan detects a virus the file Virus.Txt will be
  1692.     printed on the screen. The file should contain information like the
  1693.     phone number of the company helpdesk and the phone number of the
  1694.     security officer.
  1695.  
  1696.     An example:
  1697.       @echo off
  1698.       if '%1'=='daily' goto daily
  1699.       if '%1'=='weekly' goto weekly
  1700.       echo Type "TBS weekly" or "TBS daily" to start a scan event
  1701.       goto end
  1702.       :daily
  1703.       tbscan c:\system d:\ -quick %2 %3 %4
  1704.       if errorlevel 1 goto virus
  1705.  
  1706.  
  1707.  
  1708.                                     Page 25
  1709.  
  1710.  
  1711.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1712.  
  1713.  
  1714.       goto end
  1715.       :weekly
  1716.       tbscan c:\ d:\ e:\ -log c:\logs\tbscan.log %2 %3 %4
  1717.       if errorlevel 1 goto virus
  1718.       goto end
  1719.       :virus
  1720.       type virus.txt
  1721.       :end
  1722.  
  1723.     For more information about this kind of powerfull "configuration"
  1724.     files consult the DOS manual and search for the keyword "batch
  1725.     files".
  1726.  
  1727.     Most people overlook the power of the DOS batch file features. But,
  1728.     why learning yet another configuration file language if a DOS
  1729.     batch file will suit your needs perfectly? You can predefine scan
  1730.     sessions, define default options, and branch to a specific routine
  1731.     if TbScan detects a virus.
  1732.  
  1733.     On the TbScan diskette you will find an example BATCH file with the
  1734.     name TBS.BAT. You can edit it to suit your needs.
  1735.  
  1736.  
  1737.   3.9.  The TbScan.Msg file
  1738.  
  1739.     TbScan prints the TbScan.Msg file on the screen after 15 seconds
  1740.     or when it finished scanning and it has not detected a virus. The
  1741.     file TbScan.Msg as supplied by us contains our address and
  1742.     registration information. However, you can edit this file as you
  1743.     like, it is possible to define your company logo in this file.
  1744.  
  1745.  
  1746.   3.10.  Residence of the signature file
  1747.  
  1748.     TbScan looks for the data file in this order:
  1749.     1)  If the -data option is used it will use the specified file.
  1750.     2)  It searches in the active directory for a file with the
  1751.         name TBSCAN.DAT.
  1752.     3)  It searches for TBSCAN.DAT in the same directory as the
  1753.         program file TBSCAN.EXE itself is located (only DOS 3+).
  1754.     4)  It searches in the active directory for a file with the
  1755.         name VIRSCAN.DAT.
  1756.     5)  It searches for VIRSCAN.DAT in the same directory as the
  1757.         program file TBSCAN.EXE itself is located (only DOS 3+).
  1758.  
  1759.  
  1760.   3.11.  Residence of the AVR modules
  1761.  
  1762.     The AVR modules are only searched in the directory where the
  1763.     program TBSCAN.EXE itself resides.
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.                                     Page 26
  1770.  
  1771.  
  1772.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1773.  
  1774.  
  1775.   3.12.  Error messages
  1776.  
  1777.     Errormessages that might be displayed:
  1778.  
  1779.     +   Error in data file at line <number>.
  1780.         There is an error in the specified line of the data file.
  1781.  
  1782.     +   Failed to locate DOS entry point.
  1783.         TbScan has not been able to locate the DOS entry point, but
  1784.         continues as if option -direct has not been specified.
  1785.  
  1786.     +   Limit exceeded.
  1787.         The total amount of internal signature information exceeded
  1788.         64Kb. This message will be displayed if the number of
  1789.         signatures reaches 2500. You can either reduce the number of
  1790.         signatures or make them shorter.
  1791.  
  1792.     +   Data file not found.
  1793.         TbScan has not been able to locate the data file.
  1794.  
  1795.     +   Command line error.
  1796.         An invalid or illegal command line or environment option has
  1797.         been specified.
  1798.  
  1799.     +   Can not combine -mutant with -analyze.
  1800.         It is not allowed to combine the options mentioned, it would
  1801.         cause too many false alarms, and does not make sense at all.
  1802.  
  1803.     +   No matching files found.
  1804.         The path specified does not exist, is empty, or the specified
  1805.         file does not exist.
  1806.  
  1807.     +   No matching executable files found.
  1808.         The path specified does not exist, is empty, or the specified
  1809.         file does not exist or is not an executable file.
  1810.  
  1811.     +   Can not create logfile.
  1812.         The optional specified log file path is illegal, the disk is
  1813.         full or write protected, or the file already exists and can not
  1814.         be overwritten.
  1815.  
  1816.     +   Sanity check failed!
  1817.         TbScan detected that its internal checksum does not match
  1818.         anymore. TbScan is possibly contaminated by a virus.
  1819.         Obtain a clean copy of TbScan, put it on a WRITE PROTECTED
  1820.         bootable diskette, boot from that diskette, and try again!
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.                                     Page 27
  1831.  
  1832.  
  1833.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1834.  
  1835.  
  1836. 4.  FORMAT OF THE DATA FILE
  1837.  
  1838.  
  1839.   4.1.  Format of a signature entry
  1840.  
  1841.     The data file (called TBSCAN.DAT or VIRSCAN.DAT) can be read and/or
  1842.     modified with every DOS-text editor.
  1843.  
  1844.     All lines starting with ";" are comment lines. TbScan ignores these
  1845.     lines. When the ";" character is followed by a percent-sign the
  1846.     remaining part of the line will be displayed on the screen.  A
  1847.     maximum of 8 lines can be printed on the screen.
  1848.  
  1849.     In the first line the name of a virus is expected. The second line
  1850.     contains one or more of the next words:
  1851.             BOOT SYS EXE COM HIGH LOW
  1852.  
  1853.     These words may be separated by spaces, tabs or commas.
  1854.  
  1855.     BOOT means that the virus is a bootsector virus. SYS, EXE and COM
  1856.     indicate the virus can occur in files with these extensions.
  1857.     Overlay files (with the extension OV?) will be searched for EXE
  1858.     viruses. BIN files will be searched for SYS viruses. HIGH means
  1859.     that the virus can occur in the memory of your PC located above the
  1860.     TbScan program itself. LOW means that the virus can occur in the
  1861.     memory of your PC located below the TbScan program itself.
  1862.  
  1863.     In the third line the signature is expected in ASCII-HEX.  Every
  1864.     virus character is described by means of two characters.
  1865.  
  1866.     One entry in the signature file should look like:
  1867.         ;
  1868.         Test virus
  1869.         EXE COM
  1870.         ABCD21436587ABCD
  1871.         ;
  1872.  
  1873.     It is allowed to use spaces in the ASCII-HEX signature to increase
  1874.     the readability.
  1875.  
  1876.     The sequence of three lines should be repeated for every virus.
  1877.     Between all lines comment lines may occur.
  1878.  
  1879.  
  1880.   4.2.  Wildcards
  1881.  
  1882.     TbScan allows you to use wildcards in a signature. Wildcards can be
  1883.     used to define one signature that recognizes a couple of related
  1884.     viruses.
  1885.  
  1886.     -   The ? wildcard.
  1887.  
  1888.  
  1889.  
  1890.  
  1891.                                     Page 28
  1892.  
  1893.  
  1894.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1895.  
  1896.  
  1897.         The question mark specifies a wildcard nibble, which means that
  1898.         the corresponding half of the byte may have any value.
  1899.  
  1900.         Example:
  1901.                 A5E623CB??CD21?883FF3E
  1902.  
  1903.     -   The * wildcard.
  1904.  
  1905.         You can use the asterisk followed by an ASCII-HEX character to
  1906.         skip a fixed amount of bytes in the signature. The ASCII-HEX
  1907.         character specifies the amount of bytes that should be skipped.
  1908.  
  1909.         Example:
  1910.                 A5E623CB*3CD2155??83FF3E?BCD
  1911.         This sequence of bytes will be recognised as a virus:
  1912.             A5E623CB142434CD21554583FF3E3BCD
  1913.  
  1914.     -   The % wildcard.
  1915.  
  1916.         A precent sign (%) followed by an ASCII-HEX character indicates
  1917.         that the remaining part of the signature could be located a
  1918.         number of bytes away.  The ASCII-HEX character specifies the
  1919.         maximum distance the remaining part should occur.
  1920.  
  1921.     -   The ** wildcard.
  1922.  
  1923.         You can use the "**" -wildcard to skip an unlimited variable
  1924.         amount of bytes in the signature.
  1925.  
  1926.  
  1927.   4.3.  Restrictions.
  1928.  
  1929.     +   The name of a virus may contain up to 30 characters.
  1930.  
  1931.     +   The ASCII-HEX signature may contain up to 132 characters.
  1932.  
  1933.     +   A signature must contain at least one sequence of two
  1934.         non-wildcard bytes. A sequence of four however is recommended.
  1935.  
  1936.     +   The signature should start with one non-wildcard byte.
  1937.  
  1938.     +   The %-wildcard should not be followed by any other wildcard.
  1939.  
  1940.     Examine the VIRSCAN.DAT or TBSCAN.DAT file for a "live" example of
  1941.     the format of the signature file.
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.                                     Page 29
  1953.  
  1954.  
  1955.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  1956.  
  1957.  
  1958. 5.  A VIRUS, NOW WHAT?
  1959.  
  1960.  
  1961.   5.1.  Prevention
  1962.  
  1963.     Prevention is always better than cure. You can prevent an infection
  1964.     by using reliable software only, that is software of which the
  1965.     origins are known.
  1966.  
  1967.     MAKE SURE YOU HAVE AN UNINFECTED WRITE-PROTECTED BOOTABLE DOS DISK
  1968.     STORED IN A SAFE PLACE. The disk will be needed in case of
  1969.     infection. Without an uninfected bootable disk you will never be
  1970.     able to get rid of any virus! The disk should be write protected to
  1971.     make sure it will remain uninfected. This is very important.
  1972.  
  1973.     Only boot from your hard disk or from your original DOS diskette.
  1974.     NEVER use someone's else's disk for booting. Should you have a hard
  1975.     disk certain that you have opened your floppy drive before
  1976.     resetting or booting your PC.
  1977.  
  1978.     Use the DOS program ChkDsk frequently (without the /F switch).
  1979.     ChkDsk is able to detect some viruses because the viruses change
  1980.     the disk structure in an incorrect way.
  1981.  
  1982.     Look out for alterations in the execution of your software or
  1983.     system. Every change in their behaviour is suspect, unless you know
  1984.     its cause. Some highly suspicious alterations are:
  1985.     -   The amount of available memory space has decreased.
  1986.     -   Programs need more time for executing.
  1987.     -   Programs do not operate as they used to, or cause the computer
  1988.         to "hang" or reboot after some time.
  1989.     -   Data disappears or gets damaged.
  1990.     -   The size of one or more programs has increased.
  1991.     -   The screen behaves strangely, or you will find unusual
  1992.         information displayed here.
  1993.     -   ChkDsk detects many errors.
  1994.  
  1995.  
  1996.   5.2.  Confirmation
  1997.  
  1998.     Once you think your system may have a virus, try to get
  1999.     confirmation. You can get confirmation by using a virus scanner, or
  2000.     by booting from the uninfected write protected DOS diskette and
  2001.     comparing the files on the hard disk to the known uninfected
  2002.     original copies. DO NOT RUN ANY PROGRAM ON THE HARD DISK WHILE
  2003.     AND BEFORE PERFORMING THIS TEST TO PREVENT THE VIRUS GOING RESIDENT
  2004.     IN MEMORY. If the files have not been changed there is no file
  2005.     virus.  If they all get changed in the same way, it is very likely
  2006.     the files are infected by a virus. The bootsector is more difficult
  2007.     to test. Use the DOS SYS command to replace the bootsector in case
  2008.     of doubt.
  2009.  
  2010.  
  2011.  
  2012.  
  2013.                                     Page 30
  2014.  
  2015.  
  2016.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2017.  
  2018.  
  2019.     If you did not expect to find a virus but used the -analyze option
  2020.     of TbScan which detected a "virus", forget about it. The -analyze
  2021.     option has never caused a virus to be detected that remains
  2022.     undetected in normal scan sessions. It causes many false alarms
  2023.     instead.
  2024.  
  2025.  
  2026.   5.3.  Identification
  2027.  
  2028.     Indentify the virus. Why is this so important? Because if you know
  2029.     which virus caused you the trouble you know what the virus has
  2030.     exactly done, and whether your data files are still reliable or
  2031.     damaged. You can use a virus scanner to identify a virus. Once you
  2032.     know the name of the virus you have to obtain additional
  2033.     information about the virus. You can log on to our support BBS,
  2034.     consult professional literature, or consult a virus expert. If the
  2035.     virus only infects executable files you have only to replace the
  2036.     executable files. But if the virus swaps some bytes on a random
  2037.     location of your hard disk everytime you execute a program, you
  2038.     have to replace your data files too, even when you didn't see any
  2039.     changes in your data files.
  2040.  
  2041.  
  2042.   5.4.  No Panic!
  2043.  
  2044.     The most important thing to do is NOT PANIC! Panicking doesn't help
  2045.     you, as you need to be calm to deal with the situation properly.
  2046.     In most cases of virus infections in the past, most of the damage
  2047.     has been done by the operator of the system, not by the virus. Do
  2048.     nothing at all except for identifying the virus and obtaining
  2049.     information about the virus. Reformatting the hard disks
  2050.     immediately is the worst you can do. Once after you know exactly
  2051.     what the virus does, you can work out a strategy to recover.
  2052.     DO NOT MAKE A NEW BACKUP OF YOUR SYSTEM UNLESS YOU DON'T OVERWRITE
  2053.     AN ALREADY EXISTING BACKUP. In this case label the backup as being
  2054.     infected and unreliable.
  2055.  
  2056.  
  2057.   5.5.  Recovering
  2058.  
  2059.     For all recovery activities it is important to boot from your
  2060.     uninfected write-protected DOS diskette. Do NOT run any program
  2061.     from your hard disk! The virus must stay out of your memory while
  2062.     cleaning the system.
  2063.  
  2064.     Restore the DOS system and bootsector by using the DOS SYS command.
  2065.  
  2066.     In case of a file virus, restore all executables. A virus removal
  2067.     utility is not recommended unless you don't have a backup of the
  2068.     uninfected executable files. Depending on the virus it might also
  2069.     be necessary to replace all data files.
  2070.  
  2071.  
  2072.  
  2073.  
  2074.                                     Page 31
  2075.  
  2076.  
  2077.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2078.  
  2079.  
  2080.     If the system has been infected by a virus that modifies the
  2081.     partition table it might be necessary to perform a low level
  2082.     reformat of your hard disks. If you used an utility to backup the
  2083.     partition table (like TbRescue) it isn't necessary to reformat the
  2084.     disks, just restore the partition table.
  2085.  
  2086.     Once the system has been cleaned, check all diskettes, backups,
  2087.     etc. One infected diskette can cause you the same trouble again.
  2088.     It is highly recommended to protect your system against
  2089.     re-infections, since it is possible that you forgot to clean one
  2090.     floppy. Use a virus scanner frequently, install a resident scanner
  2091.     (like TbScanX), or better, install the Thunderbyte PC Immunizer.
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.                                     Page 32
  2136.  
  2137.  
  2138.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2139.  
  2140.  
  2141. 6.  CONSIDERATIONS AND RECOMMENDATIONS
  2142.  
  2143.  
  2144.   6.1.  What should be scanned?
  2145.  
  2146.     In the early days of viruses, virus scanners just scanned
  2147.     everything. Today we know that this approach has serious
  2148.     disadvantages: the number of false alarmes is very high, the scan
  2149.     speed is very very slow, etc.
  2150.  
  2151.     Before we proceed, let's first establish some facts about viruses.
  2152.     A virus is just a program. Like any other program, if you don't
  2153.     execute it it will not do anything except for occupying disk space.
  2154.     This means that data files like text files can never spread a
  2155.     virus. Of course, it is possible to copy a virus into a .TXT file,
  2156.     but since the text file will never be executed, the virus will
  2157.     never be able to do anything. It is just a stream of bytes, like
  2158.     the text in the text file. A program and a boot sector however will
  2159.     be executed, and if they contain a virus the virus will gain
  2160.     control and perform its nasty operations.
  2161.  
  2162.     We now know that it doesn't make sense to scan non-executable
  2163.     files. Note that a batch file (.BAT) is just a text file, it can be
  2164.     "executed" in some way, buy it is not possible to make a virus in
  2165.     the batch file language. What we need to scan are files with the
  2166.     extensions EXE COM OV? SYS and BIN.
  2167.  
  2168.     What do these programs contain? Of course they contain program
  2169.     code, but they also contain data. The texts that will be displayed
  2170.     on the screen by that program are just data. They will never be
  2171.     "executed". The exe-header of an exe file does not contain any
  2172.     code, only data. The exe-header is only used by DOS to load the
  2173.     program, and it is thrown away before DOS passes control to the
  2174.     program. We don't have to scan it, that's easy enough. The same
  2175.     applies to the bytes after the so called load-module of the file.
  2176.     This area of a file will not be loaded in memory at first instance,
  2177.     so we can skip it also.
  2178.  
  2179.     Unfortunately, the remaining part of the executable file is most
  2180.     of the time the largest. The code-data ratio differs for each
  2181.     program, but on the avarage we can state that about one third of a
  2182.     program consists of data. However, it is hardly possible to divide
  2183.     a program into code and data. Even the operating system is not able
  2184.     to do this, only the program itself. What happens when you execute
  2185.     a program is that the operating system passes control to the file
  2186.     at a fixed location. The location is the first byte in case of a
  2187.     .COM file, or a location specified in the exe-header of a .EXE
  2188.     file.  This location is referred to as ENTRY-POINT in this manual.
  2189.     This location is the only location in a file from which we can be
  2190.     100% sure it contains code. For other locations we can only guess.
  2191.  
  2192.     How does a virus work?
  2193.  
  2194.  
  2195.  
  2196.                                     Page 33
  2197.  
  2198.  
  2199.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2200.  
  2201.  
  2202.     A virus that wants to infect a file can not just throw its viral
  2203.     code at a random location in that file, it won't work. The virus
  2204.     has to be sure that its code will be executed before the host
  2205.     program gains control. Why?  Because if the contaminated program
  2206.     finds itself altered it will behave unexpected. The program
  2207.     accesses internal resources that are overwritten by the virus and
  2208.     the program crashes. Besides, how does the virus know whether that
  2209.     random location will be ever executed?  There is only ONE location
  2210.     that will always be executed, and that is the entry-point of the
  2211.     program. To infect a file the virus has to link itself onto the
  2212.     entry-point and store the original instructions of the program at
  2213.     another place. The virus is now sure it will gain control instead
  2214.     of the host program, and the virus has the possibility to restore
  2215.     the original instructions before passing control to the host
  2216.     program. There has never been any virus reported that does not link
  2217.     itself to the entry-point of a program.
  2218.  
  2219.     This brings us to a very important fact: if we scan the location
  2220.     where we can find the first instructions of the program we are sure
  2221.     we are scanning the area where the virus would reside. TbScan uses
  2222.     this knowledge and normally scans a window of about 4Kb around the
  2223.     program's entry point. This is called "Checking". If you want to
  2224.     know more about this process consult chapter "The internals of
  2225.     TbScan".
  2226.  
  2227.     Note that it is not "unsafe" to restrict the area where we search
  2228.     for viruses. If the signatures are assembled according to this
  2229.     knowledge it is always possible to detect the virus in the scanning
  2230.     area. This tackle has been adopted by many other competitive virus
  2231.     scanners. If TbScan is not completely sure about the entry-point of
  2232.     the file it just scans all the program code of the file using the
  2233.     "browse" or "analyze" algorithm.
  2234.  
  2235.  
  2236.   6.2.  The internals of TbScan
  2237.  
  2238.     6.2.1.  How is that blazingly speed achieved?
  2239.  
  2240.         The speed of TbScan is achieved by many measures.
  2241.  
  2242.         To avoid false alarms, TbScan already scans restricted areas of
  2243.         the file, and of course, this approach also affects the speed
  2244.         in a positive way. Disk access is minimized, and not much data
  2245.         has to be searched.
  2246.  
  2247.         TbScan is entirely written in assembly language. High-level
  2248.         languages like Pascal and Basic have an enormous overhead which
  2249.         not only affects the size of the program but also reduces the
  2250.         execution speed.
  2251.  
  2252.         The search routine is highly optimized. Every byte to be
  2253.         scanned is only accessed once, regardless of the number of
  2254.  
  2255.  
  2256.  
  2257.                                     Page 34
  2258.  
  2259.  
  2260.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2261.  
  2262.  
  2263.         signatures. The scan speed will hardly decrease when it has to
  2264.         search for 3000 signatures instead of 300. The search algorithm
  2265.         used can be described as "rotating semi-double 16-bits hashing".
  2266.  
  2267.         TbScan uses the obsolete but faster FCB calls to access files.
  2268.         Yes, they ARE faster, it is tested on many machines. And
  2269.         besides, to manipulate files with FCB calls there are less DOS
  2270.         function calls required compared to the handle calls.
  2271.  
  2272.         The number of DOS function calls has been minimized. DOS is
  2273.         relatively slow, and access should be avoided as much as
  2274.         possible.  For this reason TbScan walks just once through a
  2275.         directory instead of first processing the files and secondly
  2276.         the subdirectories or vice versa. For the same reason TbScan
  2277.         does not use DOS to close the file or to move the file pointer.
  2278.         Yet another advantage of the FCB-system!
  2279.  
  2280.         TbScan writes directly to the screen instead of using DOS or
  2281.         the BIOS to do this. Although TbScan has a scrolling window,
  2282.         screen access is minimized as much as possible without
  2283.         affecting the visual appearance of the program.
  2284.  
  2285.         TbScan has a built-in disk cacher. A disk cacher is
  2286.         already installed on many machines, but a normal disk cacher
  2287.         slows down the scan speed of a virus scanner instead of
  2288.         increasing it! This slow down is caused by the disk cacher, that
  2289.         tries to make assumptions on what the program will read next,
  2290.         but fails doing so. The disk cacher fails because it doesn't
  2291.         know that every file is accessed just once, and it also doesn't
  2292.         know that the remaining part of a partial scanned file will not
  2293.         be accessed at all. The cacher wastes many clock cycles by
  2294.         reading ahead and maintaining megabytes of data which will not
  2295.         be accessed anymore by the scanner. On the other hand, the
  2296.         directories and the FAT are accessed a lot, and a disk cacher
  2297.         could increase the performace a lot if it would restrict itself
  2298.         to these areas.  The solution is to disable the standard disk
  2299.         cacher and installing one that "knows" which data will be
  2300.         re-used and which not. TbScan disables any disk cacher and
  2301.         installs its own one.  Depending on the hardware specifications
  2302.         of a machine, disabling the original cacher increases the
  2303.         scanning speed with about 10% and installing its own one with
  2304.         another 10%.
  2305.  
  2306.         TbScan dynamically optimizes the lookahead buffers of DOS (the
  2307.         Y parameter of the "BUFFERS=X,Y" command in the config.sys).
  2308.         Temporary disabling the DOS lookahead buffers increases the
  2309.         scanning speed for the same reasons as disabling a disk cacher
  2310.         increases the speed.
  2311.  
  2312.     6.2.2.  The code interpreter
  2313.  
  2314.         Viruses can infect program files only in certain ways. For a
  2315.  
  2316.  
  2317.  
  2318.                                     Page 35
  2319.  
  2320.  
  2321.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2322.  
  2323.  
  2324.         virus there is only one single point in a program file of which
  2325.         it is certain that it must be executed, namely the starting
  2326.         point of the program. It cannot be sure of any other point and
  2327.         that is why it will not try to put its first code on an
  2328.         arbitrary spot of the program that it is planning to infect.
  2329.         The virus will always have to put AT LEAST one instruction at
  2330.         the entry point of the program.
  2331.  
  2332.         TbScan uses this knowledge to restrict the number of bytes that
  2333.         have to be read in of a file as much as possible.  Just as the
  2334.         loader of DOS itself, it determines where the entry point of
  2335.         the program is located.  (At the beginning of a COM-file and on
  2336.         an address, specified in the EXE-header of an EXE-file.)
  2337.  
  2338.         This is however not enough; there can also be a jump or another
  2339.         branch instruction on the located entry point of the program.
  2340.         TbScan will follow this jump until it does not come across a
  2341.         jump anymore. Then we have found the real starting point of the
  2342.         program or, in case it has been infected, the virus.
  2343.  
  2344.         There is a possibility however that on a certain moment TbScan
  2345.         has reached the end of a chain of jumps and then finds that
  2346.         there are new significant IP modifying instructions (calls,
  2347.         rets, irets, jumps) not far from the found starting point.
  2348.         Does this future jump point to the virus code, or are we
  2349.         already on the right location?  TbScan does not take any chances
  2350.         and in such a case it will read in the whole file to search for
  2351.         viruses.  Only when it is 100% sure to have found the real
  2352.         starting point of a file, where in addition at least 20 bytes
  2353.         of continuous code are situated (the code is "stable" then),
  2354.         TbScan will be satisfied with checking only the surrounding 4
  2355.         Kb of the found code. (Almost all viruses use less than 4 Kb
  2356.         and of viruses using more than 4 Kb the signature in the first
  2357.         4 Kb of the virus is used as the signature.)
  2358.  
  2359.     6.2.3.  The algorithms
  2360.  
  2361.         When TbScan processes a file it prints "Checking", "Tracing",
  2362.         "Browsing", "Analyzing" or "Skipping".
  2363.  
  2364.       6.2.3.1.  Checking
  2365.  
  2366.         "Checking" means that TbScan has successfully located the entry
  2367.         point of the program, and is scanning a frame of about 4Kb
  2368.         around the entry point. If the file is infected the signature
  2369.         of the virus will be in this area. "Checking" is a very fast
  2370.         and reliable scan algorithm.
  2371.  
  2372.         Checking will be used on most files if you run TbScan in
  2373.         default mode.
  2374.  
  2375.       6.2.3.2.  Tracing
  2376.  
  2377.  
  2378.  
  2379.                                     Page 36
  2380.  
  2381.  
  2382.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2383.  
  2384.  
  2385.         "Tracing" means that TbScan has successfully traced a chain of
  2386.         jumps or calls to locate the entry point of the program, and is
  2387.         scanning a frame of about 4Kb around the entry point. If the
  2388.         file is infected the signature of the virus will be in this
  2389.         area. "Tracing" is a fast and reliable scan algorithm.
  2390.  
  2391.         Tracing will be primary used for TSR-type COM files.
  2392.  
  2393.       6.2.3.3.  Analyzing
  2394.  
  2395.         "Analyzing" means that TbScan is scanning the entire file
  2396.         (except for the exe-header which can not contain any viral
  2397.         code). This algorithm will be used if "Checking" or "Tracing"
  2398.         can not be safely used. This is the case when the entry-point
  2399.         of the program contains other jumps and calls to code located
  2400.         outside the scanning frame. "Analyze" is a slow algorithm.
  2401.         Because it processes almost the entire file (also data area's)
  2402.         there is a greater chance of false alarms. In the past all
  2403.         reported false alarms occured with this algorithm. This
  2404.         algorithm can be forced on the command line with the -analyze
  2405.         option. It is however not recommended for a routine scan due to
  2406.         its tend to issue false alarms. "Analyze" or "Browse" will be
  2407.         used while scanning memory, bootsectors, SYS and BIN files.
  2408.  
  2409.       6.2.3.4.  Browsing
  2410.  
  2411.         "Browsing" is almost the same algorithm as "Analyzing", but it
  2412.         performs a little better on files containing long sequences of
  2413.         low ASCII, 00 or FF bytes. On other files (like compressed
  2414.         files) it performs worse, so TbScan selects the best algorithm
  2415.         for every file.  "Browsing" is as reliable as "analyzing" but
  2416.         also has the same tendency to cause false alarms.  In fact,
  2417.         every dumb scan algorithm (i.e.  algorithm without
  2418.         intelligence) will suffer from this kind of unreliability.
  2419.  
  2420.       6.2.3.5.  Skipping
  2421.  
  2422.         "Skipping" will be performed on SYS and OVL files only.
  2423.         "Skipping" simply means that the file will not be scanned. As a
  2424.         matter of fact, there are many SYS files that contain no code
  2425.         (like CONFIG.SYS). It makes absolutely no sense to scan these
  2426.         files for viruses. The same applies to .OV? files. Only a few
  2427.         of them contain an EXE-header and are suitable for a virus. If
  2428.         a virus is reported to infect overlay files it means that the
  2429.         virus monitors the DOS exec-call (function 4Bh) and infects
  2430.         every program being invoked with this call. Overlay files
  2431.         without EXE-header will never be invoked via DOS, so no virus
  2432.         will be able to infect such an "overlay". If a file has the
  2433.         extension OV? but isn't really an overlay file it will be
  2434.         skipped. Surprisingly enough, most .OV? files are just named so
  2435.         by their programmers, but they are absolutely not real overlay
  2436.         files and a virus can infect them as much as it can do with a
  2437.  
  2438.  
  2439.  
  2440.                                     Page 37
  2441.  
  2442.  
  2443.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2444.  
  2445.  
  2446.         .TXT file, with other words: not at all.
  2447.  
  2448.         The -analyze switch forces TbScan to use "analyze" or "browse"
  2449.         on these files.
  2450.  
  2451.     6.2.4.  The -compat option
  2452.  
  2453.         The -compat option is used to increase compatibility if the
  2454.         default behaviour of TbScan causes problems. The differences
  2455.         between default and compatibility mode are:
  2456.  
  2457.         -       TbScan tries to bypass disk cachers in default mode.
  2458.                 However, in compatibility mode TbScan does not
  2459.                 interfere with the disk interrupts and will not disable
  2460.                 any disk caching software.
  2461.  
  2462.         -       In default mode, TbScan installs a disk cacher if
  2463.                 enough memory is available. In the compatibility mode
  2464.                 TbScan never installs the internal disk cacher.
  2465.  
  2466.         -       In default mode, TbScan dynamically optimizes the DOS
  2467.                 disk buffers (the Y-parameter of the BUFFERS=X,Y
  2468.                 command) to achive the best performance while scanning.
  2469.                 When TbScan termninates it restores the original DOS
  2470.                 configuration. However, in the compatibility mode
  2471.                 TbScan does not alter any internal DOS configuration.
  2472.  
  2473.         -       In default mode, TbScan does not close FCB's. Normally
  2474.                 DOS automatically closes the least recently used FCB's
  2475.                 when it runs out of empty FCB's. In compatibility mode
  2476.                 TbScan closes the FCB's, slowing down the performance
  2477.                 slightly.
  2478.  
  2479.         -       While scanning memory, TbScan temporary disables the
  2480.                 interrupts for each 32 Kb-block being scanned. In
  2481.                 compatibility mode however TbScan performs a
  2482.                 non-destructive scan and does not disabled interrupts
  2483.                 at all. It offers the highest compatibility, but memory
  2484.                 scanning may slow down considerably in some
  2485.                 circumstances.
  2486.  
  2487.         -       If the -compat switch has been specified TbScan does
  2488.                 not use AVR-modules to scan memory. Files are still
  2489.                 processed by the AVR-modules. Memory AVR-modules might
  2490.                 contain virus specific function requests that might
  2491.                 interfere with resident software.
  2492.  
  2493.     6.2.5.  Recursing through directories
  2494.  
  2495.         Since you might be interested in a high scan speed rather than
  2496.         a well-organized scan order, TbScan digs into a subdirectory as
  2497.         soon as it detects one. This can result in a confusing screen
  2498.  
  2499.  
  2500.  
  2501.                                     Page 38
  2502.  
  2503.  
  2504.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2505.  
  2506.  
  2507.         output, files of subdirectories can be printed on the screen in
  2508.         a mixed order.
  2509.  
  2510.             root
  2511.                 file.1
  2512.                 file.2              subdir1
  2513.                 subdir1                 file.11
  2514.                 file.3                  file.12
  2515.                 file.4                  file.13
  2516.  
  2517.         Files will be accessed in the following order:
  2518.                 file.1
  2519.                 file.2
  2520.                 file.11
  2521.                 file.12
  2522.                 file.13
  2523.                 file.3
  2524.                 file.4
  2525.  
  2526.         Although file.2 and file.3 reside in the same directory the
  2527.         files of subdir1 will be inserted between them.
  2528.  
  2529.  
  2530.   6.3.  How many viruses does it detect?
  2531.  
  2532.     Some people think that TbScan recognizes only 300 viruses, based
  2533.     upon the fact that the signature file contains only 300 signatures.
  2534.     What they not realise is that the signatures are family
  2535.     signatures, and that means that just one signature covers multiple
  2536.     viruses. For instance, the Plo/Jerusalem signatures detects over 25
  2537.     viruses which are all based on the "original" Jerusalem virus! Only
  2538.     one (wildcarded) signature is used to cover all these mutants.
  2539.  
  2540.     Some competitive products count every virus mutant as a single
  2541.     virus, and it will not be suprising that they claim to detect over
  2542.     800 viruses. However, TbScan detects the same amount (and often
  2543.     more!) of viruses with "only" 300 signatures.
  2544.  
  2545.  
  2546.   6.4.  Testing the scanner
  2547.  
  2548.     Many people like to test the product they are using. While it is
  2549.     very easy to test for instance a word processor, it is very
  2550.     difficult to test a smart scanner like TbScan. You can not extract
  2551.     25 bytes of an executable and put it in the data file just to see
  2552.     whether TbScan finds the "signature". It is likely that TbScan does
  2553.     NOT find it because it only scans the entry-area of the file and
  2554.     the "signature" might be extracted from some other location within
  2555.     the file. Even the -analyze option will not always cause the
  2556.     "test-signature" to be detected.
  2557.  
  2558.     But, you might think, how can I test the scanner if defining a
  2559.  
  2560.  
  2561.  
  2562.                                     Page 39
  2563.  
  2564.  
  2565.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2566.  
  2567.  
  2568.     "test-signature" does not work? I think you can't, unless you are
  2569.     an experienced assembler programmer.  Sorry, but testing a
  2570.     disassembling scanner should be performed by virus experts only.
  2571.     Fortunately, you don't have to rely on our tests solely.  There are
  2572.     some anti-virus magazines who regulary publice tests of all virus
  2573.     scanners.  At the end of this document you will find some addresses
  2574.     of recommended magazines.  Anyway, third parties tested our scanner
  2575.     amongs others, and they found TbScan to have a very high hit rate.
  2576.     It detects even more viruses than many populair scanners.
  2577.  
  2578.  
  2579.   6.5.  Scan scheduling
  2580.  
  2581.     Is is recommended to "plan" how and when you scan your system.
  2582.     Creation of a special TbScan boot-diskette is highly recommended.
  2583.  
  2584.     Boot from your original DOS diskette. Use the diskcopy command to
  2585.     copy the DOS diskette to a new diskette. Delete all files on this
  2586.     diskette, except the two hidden system files and command.com. Make
  2587.     a new autoexec.bat file which should contain the line "TbScan C:\".
  2588.     Write protect the diskette with the write protect tab.
  2589.  
  2590.     The following scan sessions (listed in order of importance) are
  2591.     recommended:
  2592.  
  2593.     -   Run TbScan once a week without the -analyze and without the
  2594.         -quick option from A WRITE PROTECTED BOOTABLE DISKETTE. Boot
  2595.         from this diskette before invoking the scanner. We agree that
  2596.         it is awfull to boot from a diskette, but it is the only way to
  2597.         be sure that no stealth virus is resident in memory.
  2598.  
  2599.     -   It is recommended to invoke a daily scan without the -quick and
  2600.         without the -analyze option. You can invoke TbScan with the
  2601.         -once option from within the autoexec.bat file to perform the
  2602.         daily scan session automatically.  It is not necessary to boot
  2603.         from the bootable TbScan diskette to perform the daily scan.
  2604.  
  2605.     -   You can optionally run TbScan with the -quick option after the
  2606.         lunch.
  2607.  
  2608.     -   It is recommended to use the -analyze option once a month. Note
  2609.         that this option disables disassembly and algorithmic search,
  2610.         so it should not be used on every scan session.
  2611.  
  2612.     The -sector and the -mutant option should never be used in a normal
  2613.     scan session but only when you expect the system to have a virus.
  2614.  
  2615.  
  2616.   6.6.  Extensions to the format of the data file
  2617.  
  2618.     There are some other scanners which understand the data file format
  2619.     of TbScan. Some of these scanners understand certain extensions
  2620.  
  2621.  
  2622.  
  2623.                                     Page 40
  2624.  
  2625.  
  2626.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2627.  
  2628.  
  2629.     of the data file which can be considered really weird, and we will
  2630.     not implement them. These extensions include special signatures for
  2631.     upper memory, overlay files, and numerous specific confusing
  2632.     filename extensions, different keywords for the same items, and
  2633.     XOR-decryption directives.  TbScan scans the upper memory for
  2634.     LOW-type viruses (since any LOW-type TSR can be loaded in upper
  2635.     memory with DOS 5.0), overlay files for EXE-type viruses (since
  2636.     overlays are just a special kind of EXE file), and XOR decryptions
  2637.     can be performed better from within AVR modules.
  2638.  
  2639.  
  2640.   6.7.  Compressed files
  2641.  
  2642.     Many executable files are compressed or packed. They contain an
  2643.     unpack routine which unpacks the executable in memory to the
  2644.     original program image. The simplest compressor is the Microsoft
  2645.     ExePack program. This compressor is even included in the link
  2646.     program itself (use the /E option while linking to pack the
  2647.     executable), so it isn't surprising that many files are compressed.
  2648.  
  2649.     Many programs have been compressed afterwards. If the program
  2650.     contained a virus the virus has been compressed too. The virus will
  2651.     still be able to execute, but a scanner will no longer recognize
  2652.     the virus because the signature is compressed too.
  2653.  
  2654.     Note that if the file becomes infected after it has been compressed
  2655.     the virus is not compressed and will be visible as usual. The
  2656.     problem only exists when a file has been infected first and
  2657.     compressed afterwards.
  2658.  
  2659.     However, you can consider this as a minor problem, since files are
  2660.     often compressed by the programmer of the product, and most
  2661.     programmers are aware of the existence of viruses. If the
  2662.     programmer did not compress the file, well, then the file is not
  2663.     compressed and the problem does not exist at all. At least, if you
  2664.     obtain the original version of a program. If you obtain a "copy
  2665.     from a copy", well, one of the previous "owners" of the product
  2666.     might have compressed the file, and then you are in trouble.
  2667.  
  2668.     Anyway, if you have a virus inside a compressed file, the virus
  2669.     itself might not be visible on that file, but the other files that
  2670.     will be infected by this virus will carry the virus as usual, hence
  2671.     the signature will be visible for all the newly infected files. So,
  2672.     if you have a virus inside a compressed file, the scanner will
  2673.     still detect the presence of the virus on all other programs,
  2674.     except for the compressed file that brought the virus into your
  2675.     system.
  2676.  
  2677.     TbScan displays a "p" behind every file that might have been
  2678.     compressed with ExePack or any other compressor. TbScan does not
  2679.     unpack files, since too many files are compressed, and
  2680.     uncompressing every file would only be possible for a limited
  2681.  
  2682.  
  2683.  
  2684.                                     Page 41
  2685.  
  2686.  
  2687.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2688.  
  2689.  
  2690.     number of compression schemes, would be very time consuming, and
  2691.     last but not least not necessary. Once a compressed file has proved
  2692.     itself to contain not a virus, it will not be possible for the file
  2693.     to get infected internally afterwards. It makes no sense to unpack
  2694.     these files every time. If there isn't a virus the first time,
  2695.     there isn't one at subsequent times.
  2696.  
  2697.  
  2698.   6.8.  Other products
  2699.  
  2700.     A virus scanner is just one of the tools that are available to
  2701.     defend your system against viruses. Other products that might help
  2702.     you in your battle against viruses are:
  2703.  
  2704.     -   Checksummers.
  2705.         Calculating a cryptographic checksum (or CRC) of every file and
  2706.         comparing it with previously recorded information may tell you
  2707.         whether a file has been changed since the last checksum event.
  2708.         Keep in mind however that checksum programs work only reliable
  2709.         if the system is not infected while the initial checksum
  2710.         calculation is performed. Note also that no checksum program is
  2711.         able to detect stealth viruses, except if you boot from a clean
  2712.         write protected diskette before performing the checksum
  2713.         calculations.  Note also that it is normal that some
  2714.         executables change, they might store configuration information
  2715.         inside the executable itself.  It is up to the user to
  2716.         interpret the information of the checksummer.  Checksummers
  2717.         should only be used as an indication, but you can never rely on
  2718.         them. They have a high false positive rate, and also a high
  2719.         false negative rate. They can however be a handy additional
  2720.         tool.
  2721.  
  2722.     -   Memory resident scanners.
  2723.         Scanning a system should be performed often. However, if you
  2724.         extract a file from an archive, or download a file, or just
  2725.         copy a file from a diskette, you should re-invoke your scanner
  2726.         to check whether you brought a virus in your system. This is
  2727.         tedious, and not many people have the discipline to do this
  2728.         every time.  A resident scanner that automatically scans every
  2729.         file being created or modified on your system will be a
  2730.         valuable additional tool. Most resident scanners however
  2731.         consume much of your precious memory and slow down system
  2732.         performance. A resident scanner you might consider is TbScanX.
  2733.         It does not use much memory if you configure it to utilize
  2734.         expanded or unused video memory, and it performs very fast.
  2735.  
  2736.     -   Virus removal utilities.
  2737.         Virus removal utilities (also called cleaner software) can be
  2738.         used after a file has been infected, to separate the virus from
  2739.         the file.  Although the removal utilities are very populair we
  2740.         don't recommend to use them. You better restore the original
  2741.         files in case of infection. If you still don't have any backup,
  2742.  
  2743.  
  2744.  
  2745.                                     Page 42
  2746.  
  2747.  
  2748.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2749.  
  2750.  
  2751.         make it NOW! There are many viruses that look like known
  2752.         viruses but in fact they are a slightly different virus (a
  2753.         mutant). The removal utility might not recognise the virus as
  2754.         being a mutant, and the utility removes too many or too less
  2755.         bytes, causing all executables to get damaged inreversible.
  2756.  
  2757.     -   Memory resident monitoring software.
  2758.         It is possible to install software that monitors all DOS and
  2759.         BIOS activity and traps attempts to modify exectuable files,
  2760.         attempts to install TSR's, attempts to modify bootsectors, etc.
  2761.         Although these systems can be very reliable, it is always
  2762.         possible to bypass software with software. Keep also in mind
  2763.         that the protection software has to be in memory before any
  2764.         virus. This is possible for TSR type viruses, but bootsector
  2765.         viruses install themself in memory before any protection
  2766.         software can be loaded. And if the virus is in memory before
  2767.         the protection software, the virus can reroute all interrupts
  2768.         and the protection software will not be able to detect anything
  2769.         suspicious. Another disadvantage is that resident monitoring
  2770.         software consumes a lot of you precious memory.
  2771.  
  2772.     -   Hardware immunizers.
  2773.         Hardware immunizers are the best possible solution. They don't
  2774.         consume much memory, are guaranteed to be first in memory, they
  2775.         are even active before the machine tries to boot and they can
  2776.         not be bypassed. A disadvantage is that installing such a
  2777.         device is more difficult compared to other anti-virus tools,
  2778.         and requires a free expansion slot.
  2779.  
  2780.  
  2781.  
  2782.  
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.                                     Page 43
  2807.  
  2808.  
  2809.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2810.  
  2811.  
  2812. 7.  MISCELLANOUS INFORMATION
  2813.  
  2814.  
  2815.   7.1.  Exit codes
  2816.  
  2817.     TbScan terminates with one of the following exit codes:
  2818.         Error level 2 when path or command line is not correct.
  2819.         Error level 1 when infected files were found.
  2820.         Error level 0 when everything was okay.
  2821.  
  2822.  
  2823.   7.2.  Updates
  2824.  
  2825.     If you use TbScan you will need updates of the data file. Depending
  2826.     on the appearance of new viruses, new signatures will be added. You
  2827.     can obtain the most recent data file on the Thunderbyte support
  2828.     Bulletin Board System and many other independent BBS's. The name of
  2829.     the file you should look for is VIRUSSIG.ZIP or TBVIRSIG.ZIP. On
  2830.     the same BBS systems you can also find the most recent update of
  2831.     the TbScan program. For a list of Bulletin Board System phone
  2832.     numbers you should consult chapter 9.
  2833.  
  2834.  
  2835.   7.3.  Thanks
  2836.  
  2837.     TbScan would not have been evolved to its current state without
  2838.     the contribution of numerous of peoples. Special thanks to:
  2839.  
  2840.     Jan Terpstra, for maintaining the signature file.
  2841.  
  2842.     Righard Zwienenberg, for testing TbScan on over 20Mb of viruses.
  2843.  
  2844.     John Lots, for beta-testing and technical advices.
  2845.  
  2846.     Alan Solomon, for testing and discovery of a FCB problem.
  2847.  
  2848.     Harry Thijssen, for stimulating the speed competition.
  2849.  
  2850.     Robin Bijland, for advisory of the user interface and manual.
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.                                     Page 44
  2868.  
  2869.  
  2870.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2871.  
  2872.  
  2873. 8.  OUR OTHER PRODUCTS
  2874.  
  2875.  
  2876.   8.1.  TbScanX
  2877.  
  2878.     There is also a (shareware) memory resident version of TbScan
  2879.     available with the name TbScanX. This version remains resident in
  2880.     memory and automatically scans every file immediately when it is
  2881.     going to be executed, copied, unarchieved, downloaded, etc.
  2882.  
  2883.     TbScanX performs even faster compared to TbScan, and uses not much
  2884.     memory. It is even possible to reduce the memory requirements of
  2885.     TbScanX to zero! TbScanX is by example able to make use of unused
  2886.     video-memory.
  2887.  
  2888.     TbScanX is available on many BBSses. It is of course also available
  2889.     at any Thunderbyte support BBS. At the end of this document you can
  2890.     find some phone numbers.
  2891.  
  2892.  
  2893.   8.2.  TbRescue
  2894.  
  2895.     Some viruses copy themself on the partition table of the hard disk.
  2896.     Unlike bootsector viruses, they are hard to remove. The only
  2897.     solution is to low-level the hard disk and to make a new partition
  2898.     table.
  2899.  
  2900.     TbRescue makes a backup of the partition table and bootsector, and
  2901.     this backup can be used to compare and restore the original
  2902.     partition table and bootsector once they are infected. You don't
  2903.     have to format your disk anymore. The program can also restore the
  2904.     CMOS configuration.
  2905.  
  2906.     If you don't have a backup of your partition table, TbRescue will
  2907.     try to create a new partition table, avoiding the need of a
  2908.     low-level format.
  2909.  
  2910.     Another important feature is that you can use TbRescue to replace
  2911.     the partition table code by code that is more resistant against
  2912.     viruses. The TbRescue partition code will be executed before the
  2913.     bootsector gains control, so it is able to check the bootsector in
  2914.     a clean environment. Once the bootsector is executed it is
  2915.     difficult to check it, because the virus is already resident in
  2916.     memory and can fool every protection. Instead of booting from a
  2917.     clean DOS diskette just to inspect the bootsector, the TbRescue
  2918.     partition code performs a CRC calculation on the bootsector just
  2919.     before control is passed to it. If the bootsector has been modified
  2920.     the Tbrescue partition code will warn you about this. The Tbrescue
  2921.     partition code also checks the RAM layout and informs you when it
  2922.     is changed. It does this every time you boot from your hard disk.
  2923.  
  2924.  
  2925.  
  2926.  
  2927.  
  2928.                                     Page 45
  2929.  
  2930.  
  2931.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2932.  
  2933.  
  2934.   8.3.  Thunderbyte
  2935.  
  2936.     Thunderbyte was developed to protect Personal Computers against
  2937.     computer viruses, Trojan Horses and other threats to valuable data.
  2938.     It is a hardware protection, consisting of an adapter card, an
  2939.     installation and configuration program and a clear manual. The
  2940.     working of Thunderbyte is not based on knowledge of specific
  2941.     viruses, so Thunderbyte also protects against future viruses.
  2942.  
  2943.     A hardware protection offers much more protection than a software
  2944.     protection.  Thunderbyte is already active before the operating
  2945.     system is loaded, so the computer will be totally protected right
  2946.     after the starting of the PC.
  2947.  
  2948.     Because of the many configuration possibilities and the intelligent
  2949.     algorithms, the use of Thunderbyte will never become a burden: you
  2950.     will hardly notice the presence of Thunderbyte in an environment
  2951.     without any viruses.
  2952.  
  2953.     Of course Thunderbyte is Windows compatible and can be used in
  2954.     Local Area Networks.
  2955.  
  2956.     Advantages of a hardware protection:
  2957.  
  2958.     +   The protection uses very little (1Kb) RAM
  2959.  
  2960.     +   The protection is already active before the first boot attempt
  2961.         of the PC, and therefore protects also against bootsector
  2962.         viruses.  A software protection can not protect you against
  2963.         bootsector viruses, since it has not been executed at boot
  2964.         time.
  2965.  
  2966.     +   The hard disks can not be accessed directly anymore, because
  2967.         Thunderbyte is connected to the hard disk cable.
  2968.  
  2969.     +   It is impossible to forget to start Thunderbyte, even if the
  2970.         machine is booting with a diskette.
  2971.  
  2972.     Thunderbyte offers you many kinds of protection:
  2973.  
  2974.     +   Protection against loss of data.
  2975.  
  2976.         Thunderbyte is connected between the cable of the hard disk and
  2977.         the controller. It prevents the hard disk from being accessed
  2978.         directly. The only way to access the drive from now on is by
  2979.         using interrupt 13h.
  2980.  
  2981.         In addition Thunderbyte detects all direct disk writes which
  2982.         try to achieve a modification or damage of the data and it
  2983.         checks which program orders the execution of such operations.
  2984.         Only the operating system can preform these operations
  2985.         without Thunderbyte interception.
  2986.  
  2987.  
  2988.  
  2989.                                     Page 46
  2990.  
  2991.  
  2992.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  2993.  
  2994.  
  2995.         DOS already has the possibility of protecting files against
  2996.         overwriting and modification by means of the read only
  2997.         attribute.  However, this protection can be very easily
  2998.         eliminated by software. Thunderbyte prevents this protection
  2999.         from being ruled out without this being noticed, so now it is
  3000.         possible to protect your files effectively via a standard DOS
  3001.         command.
  3002.  
  3003.     +   Protection against infection.
  3004.  
  3005.         Thunderbyte protects programs (files with the extension EXE,
  3006.         COM or SYS) against infection by judging all modifications on
  3007.         their intention.  The functionality is not influenced by this.
  3008.         Compiling, linking, etc., are not disturbed and neither are
  3009.         programs that save their configuration internally.
  3010.         Furthermore, software can be protected via the aforementioned
  3011.         read only attribute.
  3012.  
  3013.         Attempts to modify the bootsector of the disk are detected, so
  3014.         the dreaded bootsector viruses are also eliminated. Keep in
  3015.         mind that the bootsector can hardly be protected by software.
  3016.         Only Thunderbyte already becomes active before the system tries
  3017.         to boot!
  3018.  
  3019.     +   Detection of viruses.
  3020.  
  3021.         In addition to the abovementioned ways of detecting the
  3022.         presence of viruses, Thunderbyte can also do so because viruses
  3023.         carry out a number of special operations. For example, the
  3024.         marking of already infected programs in order to recognize
  3025.         them, is detected by Thunderbyte.  So are the attempts of
  3026.         viruses to reside in the memory in a suspicious way and the
  3027.         abnormal manipulations with interrupt vectors.
  3028.  
  3029.     +   Password protection.
  3030.  
  3031.         Thunderbyte has the possibility of installing a password.
  3032.         There are two kinds of passwords: one that is always asked for
  3033.         or one that you only have to enter when attempts are made to
  3034.         start from a diskette instead of the hard disk.
  3035.  
  3036.     +   Safety.
  3037.  
  3038.         A lot of attention has been paid to the safety of Thunderbyte
  3039.         The program code of Thunderbyte is located in ROM and there is
  3040.         no way it can be modified.
  3041.  
  3042.         There is not one method of eliminating Thunderbyte through
  3043.         software. All the important settings are realized with the help
  3044.         of dipswitches on the adapter card.  And despite all their
  3045.         wasted intelligence, viruses will never be able to turn
  3046.         switches or to influence their read outs.
  3047.  
  3048.  
  3049.  
  3050.                                     Page 47
  3051.  
  3052.  
  3053.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  3054.  
  3055.  
  3056.         Viruses that approach the controller of the hard disk directly
  3057.         will have a rude awakening:  Thunderbyte will only pass disk
  3058.         writes when the write or format command has followed the normal
  3059.         (checked) course.
  3060.  
  3061.         There are a lot of different versions of Thunderbyte
  3062.         (functioning identically however) that are supplied randomly.
  3063.         Therefore is knowledge of the internal working of only one
  3064.         Thunderbyte system not sufficient to damage or destroy its
  3065.         protective working.
  3066.  
  3067.         Thunderbyte is constantly checking its own variables with a
  3068.         checksum different for each version.  The locations of the
  3069.         memory where the variables are maintained are also different
  3070.         for each version.
  3071.  
  3072.     +   Extra possibilities.
  3073.  
  3074.         Thunderbyte offers you some interesting bonuses, like booting
  3075.         from drive B:.
  3076.  
  3077.  
  3078.  
  3079.  
  3080.  
  3081.  
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.  
  3111.                                     Page 48
  3112.  
  3113.  
  3114.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  3115.  
  3116.  
  3117. 9.  NAMES AND ADDRESSES
  3118.  
  3119.  
  3120.   9.1.  Contacting the author.
  3121.  
  3122.     TbScan is written by Frans Veldman. You can leave messages on the
  3123.     Dutch support BBS. Registered users can also phone ESaSS for
  3124.     technical support.
  3125.  
  3126.  
  3127.   9.2.  ESaSS
  3128.  
  3129.     For more information about Thunderbyte you can contact:
  3130.  
  3131.     ESaSS B.V.                          Tel:  + 31 - 80 - 787 881
  3132.     P.o. box 1380                       Fax:  + 31 - 80 - 789 186
  3133.     6501 BJ  Nijmegen                   Data: + 31 - 85 - 212 395
  3134.     The Netherlands                         (2:280/200 @fidonet)
  3135.  
  3136.  
  3137.   9.3.  Thunderbyte support BBS's.
  3138.  
  3139.     TbScan, TbScanX and the signature files (TbVirSig) are available on
  3140.     Thunderbyte support BBS's:
  3141.  
  3142.     Thunderbyte headquarters in the Netherlands:       +31- 85- 212 395
  3143.     (2:280/200 @fidonet)
  3144.  
  3145.     Thunderbyte support Germany (Androtec):            +49- 2381- 461565
  3146.     (2:245/50 @fidonet)
  3147.  
  3148.     Thunderbyte support Italy/S.Marino/Vaticano/Malta: +39- 766- 540 899
  3149.     (2:335/5 @fidonet)
  3150.  
  3151.     Thunderbyte support Australia (Calmer):            +61- 2- 482- 1716
  3152.  
  3153.  
  3154.     If you are running an electronic mail system, you can also
  3155.     file-request TBSCAN to get the latest version of TBSCAN.EXE,
  3156.     TBSCANX to get the resident automatic version of TBSCANX, and
  3157.     VIRUSSIG to obtain a copy of the latest update of the signature
  3158.     file.
  3159.  
  3160.  
  3161.   9.4.  Recommended magazines and organisations.
  3162.  
  3163.     Virus Bulletin.
  3164.     Virus Bulletin Ltd.
  3165.     21 The Quadrant, Abingdon Science Park, Oxon, OX14 3YS, England.
  3166.     Tel. +44-235-555139.
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.                                     Page 49
  3173.  
  3174.  
  3175.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  3176.  
  3177.  
  3178.     National Computer Security Association.
  3179.     227 West Main Street.
  3180.     Mechanicsburg, PA 17055, United States.
  3181.     Tel. +1-717-258-1816
  3182.  
  3183.  
  3184.     Virus News International.
  3185.     Berkley court, Millstreet, Berkhamsted, Hertfordshire, HP4 2HB,
  3186.     England.
  3187.     Tel. +44-442-877877.
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194.  
  3195.  
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.  
  3233.                                     Page 50
  3234.  
  3235.  
  3236.  Thunderbyte virus detector v3.0 (C) Copyright 1991 ESaSS B.V.
  3237.  
  3238.  
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.  
  3250.  
  3251.  
  3252.  
  3253.  
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260.  
  3261.  
  3262.  
  3263.  
  3264.  
  3265.  
  3266.  
  3267.  
  3268.  
  3269.  
  3270.  
  3271.  
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.                                     Page 51